Моя оригинальная таблица содержит цены на сайте.Затем я запускаю скрипт для изменения формата и создаю несколько новых столбцов, которые нужны моему веб-сайту.Входные данные основаны на исходной электронной таблице.
Например;оригинал имеет «заголовок», а полученная электронная таблица имеет «заголовок» и «заголовок SEO».Сценарий просто копирует содержимое для «заголовка» в обоих столбцах и обрезает SEO, если он слишком длинный.
Я хотел бы отредактировать сценарий, чтобы дать мне новый столбец (AS2) с альтернативной ценой, основанной напростой расчет: столбец с названием «цена» (F2) * 1.18.
Скрипт отлично работает для ограниченного количества строк.Сначала я добавляю столбец под названием «Сайт RRP».Затем в пределах этого столбца все значения должны быть умножены на 1,18.
. Столбец, называемый "цена", умножается на 1,18. Но как только у меня получается более 2/3000 строк, процесс прерывается.Я не уверен, как я мог бы сделать свой код проще, чтобы помочь уменьшить время обработки.
ss.getRange("AS2").setFormula("=F2*1.18");
var lr = ss.getLastRow();
var fillDownRange = ss.getRange(2, 45, lr-1);
ss.getRange("AS2").copyTo(fillDownRange);
Если F2 равен 1,00, я ожидаю, что выходной сигнал AS2 будет 1,18, и то же самое для F8000 и AS8000,Но время выполнения сценария истекло.
Я начинаю свой код со следующего, чтобы определить столбцы
var ss=SpreadsheetApp.getActiveSpreadsheet();
var shSKU=ss.getActiveSheet();
var skuData=shSKU.getDataRange().getValues();
var finalData=[];
var i,j;
finalData[0]=[];
for(i=0;i<skuData[0].length;i++)
finalData[0].push(skuData[0][i]);
finalData[0].push("Website RRP");
Затем я получаю свои данные в массив
for(j=0;j<skuData[i].length;j++)
{
finalData[count].push(skuData[i][j]);
}
var arr=strip_html_tags(skuData[i][23]);
finalData[count].push(skuData[i][2]);
finalData[count].push(arr[0]);
finalData[count].push(arr[1]);
finalData[count].push("");
finalData[count].push("");
count++;
}