Комплексное ПОИСКПОЗ ИНДЕКС возвращает #Н/Д

Я видел решения, позволяющие заставить функции ПОИСКПОЗ ИНДЕКС возвращать ноль вместо #N/A с помощью ISNA или IFERROR. Я успешно использовал их в других проектах. Однако вот это меня озадачило:

=INDEX($B$4:$AQ$45,MATCH(C81,$A$4:$A$45,0),MATCH(D81,$B$3:$AQ$3,0))+INDEX($B$4:$AQ$45,MATCH(E81,$A$4:$A$45,0),MATCH(F81,$B$3:$AQ$3,0))

Как я мог заставить это вернуть «0»?

Я в основном ищу два значения в таблице, используя совпадение двух отдельных критериев, а затем добавляю их вместе. #N/A не будет иметь большого значения, но моя следующая функция:

=G2+(MAX(G46:G51))

Что в основном добавляет все значения, и, очевидно, возвращает #N/A, когда добавляет что-либо с #N/A.


person Aimee Bower    schedule 23.09.2013    source источник
comment
Я добавил тег excel, так как этот вопрос, похоже, касается Excel. Не стесняйтесь исправить это, если это не так.   -  person Bernhard Barker    schedule 10.03.2014


Ответы (1)


#N/A возникают ошибки, когда C81 и/или E81 не найдены в A4:A45 и/или D81 и/или F81 не найдены в B3:AQ3. Одна пара используется для определения точки пересечения одного из суммируемых значений, а другая пара — для значения точки пересечения другого. Поскольку одна или несколько из четырех ячеек C81:F81 могут быть не найдены, #N/A может быть возвращено для одного или обоих суммируемых значений, поэтому IFERROR следует применять к каждой части уравнения, которая должна возвращать значение:

  =IFERROR(INDEX($B$4:$AQ$45,MATCH(C81,$A$4:$A$45,0),MATCH(D81,$B$3:$AQ$3,0)),0)+IFERROR(INDEX($B$4:$AQ$45,MATCH(E81,$A$4:$A$45,0),MATCH(F81,$B$3:$AQ$3,0)),0)

Это эффективно: =IFERROR(<first part>,0)+IFERROR(<second part>,0)

person pnuts    schedule 09.12.2015