Цыганские фокусы в таблицах. Сегодня в эфире arrayformula и ROW (СТРОКА в русской раскладке), чтобы считать строчки и накопительные итоги 🌚
Где прикладываю: платежный календарь, финмодельки, везде, где болит накопительный итог.
В таблицах есть два пути: тянуть формулки руками по клеточкам или юзать формулы, которые обрабатывают заданный массив
(нежной любовью люблю arrayformula, потому что проебать протянуть формулу на добавленную внутри массива данных строчку, а потом искать ошибку в расчётах три дня, я люблю еще крепче 😂).
Array вызывается к любому вашему чудовищу в клетке комбинацией Ctrl+Shift+Enter и применяет формулу не к одной строчке, а ко всем строчкам массива выбранных данных (работает не со всеми функциями, но с основными - работает и еще как работает)
На элементарном примере с СУММ смотри это и картинку.
=B2+C2 - фу =ArrayFormula(B2:B+C2:C) - неочень и вообще как у всех =ArrayFormula(ЕСЛИ(B2:B<>"";(B2:B+C2:C);"")) - Эт-т-то что такое 😍
Просто добавили ЕСЛИ <>"", что переводится, как непустое. И вот никаких лишних нулей на всю длину нашей табличной простыни.
Так вот, чтобы считать какую-то операцию в пределах одной строки, даже, если есть множественные условия, много ума не надо.
А вот накопительный итог считать (суммируя каждую новую строчку с предыдущей) - это еще поди извернись.
Накошмарила комбинацию Array, Суммесли и Строка, которую проще показать, чем объяснить словами.
=ARRAYFORMULA(ЕСЛИ(B2:B<>""; СУММЕСЛИ(СТРОКА(B2:B); "<="&СТРОКА(B2:B); B2:B); ""))
СТРОКА дает нам массив номеров строчек, <=&СТРОКА дает условие о суммировании тех строчек, которые меньше равны текущей, ну и <>"", как непустое поле.
Показываю в табличке: https://docs.google.com/spreadsheets/d/1pWGaYtLMPQCub4QMlygwKdBL8VYMAoodzf4s3TGH9mM/edit?usp=sharing (копируем, балуемся с перемещением строк и добавлением новых строк в середину таблицы. Смотрим, как сам все пересчитывает массив и как всё идет к черту в ручном накопительном итоге. Главное что? Правильно, во вторую строчку с формулами ничего не добавлять)
Такие дела 🙂