Использование функции МАССИВА для возврата числового значения на основе нового месяца. Когда false хотел бы, чтобы значение исходило из другого столбца чисел, основанного на дате

#excel #excel-formula

Вопрос:

 =IFERROR(INDEX($C$44:$C$46,MATCH(EOMONTH(TODAY(),-1) 1,$B$44:$B$46,0)),0)
 

Истинная дата в B44:B46, верните соответствующее значение в C44:C46.
Ложная дата в B44:B46, верните соответствующее значение в D44:D46.

Когда я пытаюсь преобразовать ложное утверждение в массив, я получаю #N/A.

Комментарии:

1. Была бы полезна некоторая примерная дата с ожидаемыми результатами.

2. 1. Вы должны использовать VLookup(МЕСЯЦ(СЕГОДНЯ(),-1) 1,$B$44:$B$46,2,ложь) вместо комбинации соответствия и индекса. 2. Очень неясно, что вы подразумеваете под «ложной датой в B44:B46». Если совпадение не удается, в D44:D46 нет соответствующего значения и возвращать нечего.

3. @Ekalb. Спасибо за повышение / добро пожаловать. Предполагая, что вы хотите вернуться из C:C, если сегодняшний день существует в B:B, и из D:D всякий раз, когда это не так… если это так, см. Предлагаемый soln. ниже… (PS — предложите задать вопрос напрямую, а не просто сделать заявление! 🙂

Ответ №1:

Скриншот/здесь см.:

Скриншот

Это создает массив, содержащий C:C всякий раз, когда соответствующие ячейки в B:B = 1/07 (D:D используется вместо C:C в противном случае).

Для следующего требуется версия Excel Office 365/эквивалент:

=ПУСТЬ(date_VAR, МЕСЯЦ(СЕГОДНЯ(),-1) 1,ЕСЛИ(B2:B6=date_VAR,C2:C6,D2:D6))

PS — Я рассматривал эквивалент индекса/соответствия, но проблема в том, что он склонен возвращать только 1-е допустимое совпадение (поэтому, если у вас было 2 ячейки в B:B = 1/07, то будет возвращено только 1-е соответствующее значение в C:C; то же самое для тех случаев, когда B:B не содержал эту дату)..