Как написать инструкцию IF, основанную на двух критериях, возвращающих 0, если true, и значение предыдущей ячейки, если false

#excel

#excel

Вопрос:

Я хочу проверить, найдено ли время в столбце, основываясь на том, какой сегодня день, и если да, верните 0, иначе я верну значение предыдущей ячейки.

Я пытался использовать IF(AND) , но это не сработало:

 IF(AND(Table1[[#All],[DATE]]=$B$1,Table1[[#All],[FINISH TIME]]=A4),0,B3)
  

В настоящее время я пытаюсь использовать это в качестве своей формулы, но она продолжает возвращать ‘# N / A’:

 =IF(MATCH(1,(Table1[[#All],[DATE]]=$B$1)*(Table1[[#All],[FINISH
(MARKET TIME)]]=A4),0), 0, B3).
  

Любая помощь была бы высоко оценена, спасибо.

Ответ №1:

Чтобы иметь возможность выполнить сопоставление с двумя критериями, где массив равен 1, вы должны использовать формулу массива. Щелкните, как будто вы собираетесь ввести еще что-то в строке формул вверху, и нажмите Ctrl Shift Enter. Вокруг формулы будут квадратные скобки, как {=IF(MATCH(1,(Table1[[#All],[DATE]]=$B$1)*(Table1[[#All],[FINISH (MARKET TIME)]]=A4),0), 0, B3)} Единственное, что странного в этой формуле, которое я увидел, было (Table1[[#All],[FINISH (MARKET TIME)]]=A4) второе сравнение. Предполагается, что ВРЕМЯ ЗАВЕРШЕНИЯ (MARKET TIME) равно [ВРЕМЯ ЗАВЕРШЕНИЯ]?