Как один из вариантов: формировать формулу и подставлять её при изменении структуры таблицы (надо настроить триггер).
Формула такого вида:
=arrayformula({'Лист2'!1:1000;'Лист3'!1:1000})
Код для формирования формулы:
function onChange() {
const targetSheetName = "Лист1"; // Сюда вставляем значения
const targetSheetRange = "A1"; // Сюда вставляем значения
const dataRange = "1:1000"; // Диапазон данных извлекаемых из каждого листа
let as = SpreadsheetApp.getActiveSpreadsheet();
let sheets = as.getSheets();
let outFormula = "=arrayformula({";
let sheetNames = sheets
.map(sheet=>sheet.getName())
.filter(sheetName=>sheetName!=targetSheetName)
.map(sheetName=>"'"+sheetName+"'!"+dataRange)
.join(";");
outFormula+=sheetNames;
outFormula+="})";
as.getSheetByName(targetSheetName).getRange(targetSheetRange).setFormula(outFormula);
}
Демонстрационная таблица