Быстрая замена # N / A на 0, когда vlookup

21

Я использую vlookupмного в Excel.

Проблема со #N/Aзначением, когда искомое значение не найдено.

В этом случае мы часто заменяем его на 0, используя

if(isna(vlookup(what,range,column,false));0; vlookup(what,range,column;false))

которые повторяют vlookup (что, range, column, false) дважды и заставляют формулу выглядеть уродливой и глупой для меня.

У вас есть другие решения этой проблемы?

Нам Г ВУ
источник

Ответы:

32

Какая версия Excel? В Excel 2007 или более поздней версии вы можете использовать функцию IFERROR следующим образом

=IFERROR(VLOOKUP(A1,B2:E3,4,0),0)

Барри Гудини
источник
correctomundo +1
Raystafarian
@Raystafarian Не могу понять, что вы имеете в виду :)
Nam G VU
@ Барри Гудини Хорай!
Нам Г ВУ
@NamGiVU Я просто согласился с ответом Барри :)
Raystafarian
5

Вы также можете использовать, IFNAесли вы только хотите обнаружить # N / A ошибки.

=IFNA(Formula,0)

Это будет отображаться 0вместо ошибки # N / A.

Мэтт Волшебник
источник
1

Это на самом деле довольно мощно, и я какое-то время рыскал в Интернете, чтобы получить ответ на этот вопрос. В моем случае, однако, я не хочу заменять на #N/Aa 0, но вместо этого я хочу использовать альтернативную информацию. В моем случае, если VLOOKUPничего не найдено, я хочу использовать содержимое другой ячейки. (Я использую Excel 2010, но это не должно иметь значения) Предположим, что моя формула в ячейке E3включена Sheet1, а данные, которые я хочу получить, где-то находятся Sheet2. Если нет данных для поиска Sheet2, я хочу, чтобы моя ячейка использовала данные из Sheet1.

=IFERROR(VLOOKUP(A3,Sheet2!B2:E3,4,FALSE),Sheet1!D3)

Оригинальному ответчику, СПАСИБО. Ты сделал мою жизнь немного легче сегодня вечером. Я надеюсь, что мое бессмысленное расширение вашего ответа кому-то тоже поможет!

Майкл
источник