#google-sheets #google-sheets-formula #vlookup #array-formulas
#google-sheets #google-sheets-формула #vlookup #массив-формулы
Вопрос:
Проблема:
У меня есть два листа, авторасходы и бизнес-расходы (повторяющиеся листы с разными категориями расходов), столбец J представляет стоимость расходов, столбец F представляет дату расхода
Я пытаюсь создать функцию, которая будет суммировать все расходы между обоими листами с учетом даты начала и даты окончания и выполнять итерацию по столбцу
Вот функция, которую я написал:
=ArrayFormula(if(isblank(F2:F),"",SUMIFS('Auto Expenses'!$J$7:$J,'Auto Expenses'!$F$7:$F,">="amp;O2:O,'Auto Expenses'!$F$7:$F,"<="amp;P2:P) SUMIFS('Business Expenses'!$J$7:$J,'Business Expenses'!$F$7:$F,">="amp;O2:O,'Business Expenses'!$F$7:$F, "<="amp;P2:P)))
O2: O — список дат начала и P2: P — список дат окончания>
Когда я запускаю функцию, она возвращает только первую сумму расходов и выполняет итерацию до конца с тем же значением.
Что я делаю не так?
Если я использую эту функцию вместо этого и перетаскиваю вниз, это дает правильные результаты, но я хочу, чтобы она автоматически выполняла итерацию по столбцу
=SUMIFS('Auto Expenses'!$J$7:$J,'Auto Expenses'!$F$7:$F,">="amp;O2,'Auto Expenses'!$F$7:$F, "<="amp;P2) SUMIFS('Business Expenses'!$J$7:$J,'Business Expenses'!$F$7:$F,">="amp;O2,'Business Expenses'!$F$7:$F, "<="amp;P2)
Вот ссылка на копию электронной таблицы для справки: https://docs.google.com/spreadsheets/d/1Lbrvsrz90RSYhedwA8IkyoYlHqWy5Lw7Ngxw5eRjAKs/edit?usp=sharing[ введите описание изображения здесь][1]
Комментарии:
1.
SUMIFS
не поддерживаетсяARRAYFORMULA
.2. Невозможно получить доступ к листу по ссылке — пожалуйста, сделайте его общедоступным
3. @TomSharpe Теперь я предоставил доступ к электронной таблице. Вы должны иметь возможность просматривать и редактировать
4. @idfurw о, я забыл о том, что sumif не поддерживаются arrayformula. Итак, должен ли я делать sumif для каждого условия и просто добавлять их все вместе?
Ответ №1:
Поскольку все ваши временные интервалы составляют семь дней, один из подходов заключается в разработке 2d-массива с 7 столбцами, где каждый столбец представляет другой день недели, и использовать его в sumif для получения итогов за каждый день. Затем используйте Mmult для суммирования за 7 дней:
=ArrayFormula(if(O2:O="",,mmult(sumif('Auto Expenses'!F7:F,O2:O sequence(1,7,0),'Auto Expenses'!J7:J),sequence(7,1,1,0))))
Затем сделайте то же самое для бизнес-расходов (которые еще не заполнены в вашем примере листа).
Комментарии:
1. Вау, я даже не знал, что =SEQUENCE — это функция, которую я мог бы использовать! Я новичок в изучении массивов Google Sheets / Excel, поэтому это очень полезно знать. Спасибо