Не ясно, в каком формате находятся ваши таблицы.
SUMIFS
- самое простое решение, но оно будет работать только в том случае, если в банковском реестре используется формат даты Excel. Это немного усложняется, если эти даты отформатированы в виде текста.
Построение формулы SUMIFS
начинается с SUM RANGE. Это долгожданное изменение, отличное от обратной конструкции и ошибочно названное SUMIF
(больше похоже на IFSUM
, если вы спросите меня)
=SUMIFS(SUM RANGE, CRITERIA 1 RANGE, CRITERIA 1, CRITERIA 2 RANGE, CRITERIA 2, CRITERIA 3 RANGE, CRITERIA 3...)
Используя ваш пример:
SUM RANGE
, столбец «Дебет» в банковском реестре (BankRegisterDebitRange)
CRITERIA 1 RANGE
, столбец «Описание» в банковском реестре (BankRegisterDescriptionRange)
Criteria 1
, строка «Аренда»
Criteria 2 Range
, столбец «Дата» в банковском реестре (BankRegisterDateRange)
Criteria 2
, эта строка формулы ">="&EOMONTH(RentTableDate,-1)+1
Criteria 3 Range
, столбец «Дата» в реестре банков (BankRegisterDateRange)
Critera 3
, эта строка формулы "<="&EOMONTH(RentTableDate,0)
Объединение:
=SUMIFS(BankRegisterDebitRange, BankRegisterDescriptionRange, "Rent", BankRegisterDateRange, "=>"&EOMONTH(RentTableDate, -1)+1, BankRegisterDateRange, "<="&EOMONTH(RentTableDate, 0))
Если ваши данные отформатированы кактекст, то вам нужно решить, хотите ли вы использовать вспомогательный столбец или нет, или вы хотите одну формулу. Вспомогательный столбец может быть желательным, если вы хотите использовать SUMIFS
или выполнить дополнительный анализ с помощью простых формул. Может быть желательна другая формула на основе массива, если вам не нужен вспомогательный столбец, например SUMPRODUCT
или SUM
.
Уже есть отличный ответ, показывающий, как использовать SUMPRODUCT
, поэтому вот примеро том, как построить формулу массива с SUM
, когда ваши данные отформатированы как текст.
=SUM((BankRegisterDebitRange)*(BankRegisterDescriptionRange="Rent")*(DATEVALUE(BankRegisterDateRange)=>(EOMONTH(RentTableDate,-1)+1))*(DATEVALUE(BankRegisterDateRange)<=MONTH(RentTableDate,0)))
Это истинная формула массива, и ее нужно вводить с помощью Ctrl + Shift + Enter
Я был удивлен некоторыми моими результатами во время тестирования. Главным образом, как Excel все еще рассматривал текст как даты в некоторых случаях, но не в других. Например, DATEVALUE
был необходим на стороне банковского реестра, но с таблицей арендной платы это было не так, потому что EOMONTH
работал без проблем. Я полагаю, что это связано с другим странным поведением: когда я создаю ячейку в текстовом формате в A1
и затем вводю дату, независимо от того, предшествует ли ей апостроф или нет, тогда, если я введу =A1+1
в любой другой ячейке,эта ячейка форматируется как текст и отображает числовое значение Excel на следующий день после даты в A1
. Я ожидал ошибки #Value!
. Я подозреваю, что это то, что удерживает EOMONTH
от ударов, и таинственная природа массивов так или иначе предотвращает перенос этого поведения на SUMIFS
... но я действительно не знаю, почему это происходит.