3

Мой вызов vlookup в электронной таблице Excel 2010 возвращает значение 0 для значений, которые являются пустыми в данных поиска.

Как заставить vlookup вернуть пустое значение, если данные пустые, и 0, если данные равны 0?

2 ответа2

3

Этот метод работает, хотя было бы неплохо, если бы был лучший метод:

=if(len(vlookup(a2,f$2:g$20,2))=0,"",vlookup(a2,f$2:g$20,2))
2

Имейте в виду, что vlookup без четвертого параметра (true или false) по умолчанию будет иметь значение "true" и будет возвращать приблизительное совпадение. Также таблица данных должна быть отсортирована по возрастанию в столбце F, иначе результаты могут быть неверными. Если вы после точного соответствия, вы должны использовать параметр "ложь".

Кроме того, вы можете сравнить возвращаемое значение с 0, как

=if(vlookup(a2,f$2:g$20,2,false)=0,"",vlookup(a2,f$2:g$20,2,false))

Функция Len() не требуется.

В качестве альтернативы двойному Vlookup вы можете отформатировать результаты в произвольном формате.

0.00;-0.00;;@

Это отформатирует положительные и отрицательные числа с двумя десятичными знаками и отобразит текст, но без нулевых значений. Настройте числовой формат в соответствии со своими потребностями.

В обоих случаях нулевое значение будет подавлено, даже если это фактическое значение в таблице поиска.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .