Я использую следующий скрипт, чтобы: 1. Скопировать данные с другого листа (это работает!) 2. Вставить три формулы бок о бок (Работает!) 3. Сделать ссылки на ячейки в формуле относительными, чтобыкогда он находится в строке 2, он ссылается на I2, в строке 3 он ссылается на I3 и т. д. (не работает)
В настоящее время это работает при первом обходе, но когда я запускаю сценарий для следующего набора данных,это начинается в строке 2 снова.Я понимаю, что он напечатан таким образом, но я хочу сделать ссылки на ячейки относительно строки, в которой он находится.
Я не программист, и большая часть этого написана полезными людьми из StackOverflow.Мне нужно, чтобы ссылка I относилась к строке, в которой она находится, и ссылка A делала то же самое.
function CopyDataToNewFile2() {
const source = SpreadsheetApp.openById('1WYXp-S5XoegSnzzC9uRao8uPCyJ6UxNQgOGf3c7DQO0').getSheetByName('Outcome'); // sss = source spreadsheet
const destination= SpreadsheetApp.openById('1sX6VTyedVLBL57EMSuD7cqUwe9GzoCRajLZhA1ZBJ3Q');
const target = destination.getSheetByName('Final');
if (!source || !target)
throw new Error("Missing required worksheets (sheet names not found)");
const dataToCopy = source.getDataRange().getValues();
dataToCopy.shift(); // remove header row.
const startRow = target.getLastRow() + 1;
const numRows = dataToCopy.length;
const numColumns = dataToCopy[0].length;
target
.getRange(startRow, 1, numRows, numColumns)
.setValues(dataToCopy)
.offset(0, numColumns, numRows, 1) // offset is from the top-right cell of the range
.setFormula('=vlookup($I2,IMPORTRANGE("https://docs.google.com/spreadsheets/d/1f7_unFqRkI6O2EHBLsNGLRCH5j9rlEXBdVnRLTgS_lM/edit#gid=1203869430","Source_Hours!A:B"),2,false)/$A2')
.offset(0,1,numRows,1)
.setFormula('=vlookup($I2,IMPORTRANGE("https://docs.google.com/spreadsheets/d/1f7_unFqRkI6O2EHBLsNGLRCH5j9rlEXBdVnRLTgS_lM/edit#gid=1203869430","Copy of Other Time Not Included in WLI%!A:B"),2,false)')
.offset(0,1,numRows,1)
.setFormula('=sum($AO2,$AN2)');
}
Если копируется 172 строки данных, первый цикл копирования будет точным.После того, как я скопировал еще 172 строки, снова запустив скрипт, он все еще ссылается только на I2-I172 и A2-A172.Любая помощь будет оценена!