Вам нужно будет добавить свои собственные идентификаторы и имена таблиц в Таблицу данных, и тогда все данные на этих листах будут отображены в Сравнительном листе.
function getData() {
var ss=SpreadsheetApp.getActive();
var ish=ss.getSheetByName('Data');
var iA=ish.getDataRange().getValues();
var dsh=ss.getSheetByName('Comparisons');
dsh.clearContents();
dsh.getRange('A1').setValue('Displaying Data from selected spreadsheets list in Data Sheet.').setFontWeight("Bold");
for(var i=1;i<iA.length;i++) {
if(iA[i][0] && iA[i][1]) {
var css=SpreadsheetApp.openById(iA[i][0]);
var csh=css.getSheetByName(iA[i][1]);
var vA=csh.getDataRange().getValues();
var desc=Utilities.formatString('Data from %s',iA[i][1]);
dsh.getRange(dsh.getLastRow()+1,1).setValue(desc).setFontWeight("Bold");
dsh.getRange(dsh.getLastRow()+1,1,vA.length,vA[0].length).setValues(vA);
}
}
}
Это формат моей таблицы данных:
Вот как выглядит мой Сравнительный лист после запуска его с двумя другими таблицами в списке:
Добавление данных из других электронных таблиц
function getData() {
var ss=SpreadsheetApp.getActive();
var ish=ss.getSheetByName('Data');
var iA=ish.getDataRange().getValues();
var dsh=ss.getSheetByName('Sum');
dsh.clearContents();
for(var i=1;i<iA.length;i++) {
if(iA[i][0] && iA[i][1]) {
var css=SpreadsheetApp.openById(iA[i][0]);
var csh=css.getSheetByName(iA[i][1]);
dsh.appendRow([csh.getRange(iA[i][2]).getValue()]);
}
}
var rg=dsh.getRange(dsh.getLastRow()+1,1).setFormula("=Sum(" + dsh.getRange(1,1,i-1,1).getA1Notation() + ")");
rg.offset(0,1).setValue("Total").setFontWeight("Bold")
}
Лист данных:
Лист суммы: