3D сумма, но в Таблицах — 16 июня 2026 г. в 07:12:01.150
3D сумма, но в Таблицах Друзья, в MS Excel есть функция 3D сумма, она позволяет суммировать ячейку от одного листа до другого, не перечисляя листы, которые будут между. Например, смотрите на гифку - от листа "янв" до "апрель". В Таблицах такой встроенной функции нет, но мы для вас её повторили с помощью пользовательской функции (скрипт, который вы сможете запускать из листа), код ниже: function SumSum(shFrom, shTo, cell){ const ss = SpreadsheetApp.getActive(); const sheets = ss.getSheets(); let sum = 0; let x = ss.getSheetByName(shFrom).getIndex(); let y = ss.getSheetByName(shTo).getIndex(); for(x; x <= y; x++){ const sheet = sheets[x-1]; sheet ? sum += sheet.getRange(cell).getValue() : ''; } return sum; } Давайте попробуем разобрать все по строкам: название функции и аргументы, которые будем в неё передавать из листа (лист начала, листа конца, ячейка, все должно быть в кавычках) function SumSum(shFrom, shTo, cell){ определяем переменные ss, sheets, x, y и кладём в них текущую активную Таблицу, массив листов, индекс первого листа, индекс последнего листа: const ss = SpreadsheetApp.getActive(); const sheets = ss.getSheets(); let x = ss.getSheetByName(shFrom).getIndex(); let y = ss.getSheetByName(shTo).getIndex(); определяем sum – тут будет собираться наша сумма let sum = 0; начало нашего цикла, начинаем от индекса первого листа и продолжаем до индекса последнего листа включительно for(x; x <= y; x++){ каждый шаг цикла открываем Лист const sheet = sheets[x-1]; проверяем, существует ли лист, если существует - достаём из него нужную нам ячейку и добавляем к sum sheet ? sum += sheet.getRange(cell).getValue() : ''; завершаем цикл } возвращаем sum (в ячейку) и завершаем функцию return sum; } == Формула для запуска из листа должна выглядеть как-то так: =SumSum("янв"; "апрель";"a1") Google Таблицы и Excel

