Самый простой способ, который мне приходит в голову, - это иметь «глобальную» вкладку, а затем каждую ежемесячную вкладку запрашивать данные из нее. Для этого формула, которую вы можете использовать, будет выглядеть следующим образом (с учетом вашего примера):
=QUERY(Total!A2:F7, "select * where MONTH(B)+1=6")
Эта команда будет фильтровать строки с датой в июне.
В противном случае, если вы предпочитаете иметь «глобальную» вкладку, построенную из ежемесячных вкладок, вы можете использовать пользовательскую функцию GAS, такую как:
function MYFUNC() {
var sheets = SpreadsheetApp.getActive().getSheets();
var numSheets = sheets.length;
var result = [];
for (var i=0; i<numSheets-1; i++) {
var sheet = sheets[i];
var dataRange = sheet.getDataRange();
// Remove header from the datarange
dataRange = dataRange.offset(1, 0, dataRange.getHeight()-1);
result = result.concat(dataRange.getValues());
}
return result;
}
Это импортирует и объединяетданные со всех листов, кроме последнего (всего) и объединить его. Вы просто должны установить его следующим образом: