В этой статье описаны наиболее распространенные причины неправильного результата функции В ФУНКЦИИ ВЛП, а также рекомендации по использованию функций ИНДЕКС иПОЗ.
Совет: Кроме того, обратитесь к кратким справочнику: советы по устранению неполадок с #NA в удобном PDF-файле. Вы можете поделиться PDF-файлом с другими людьми или распечатать его для справки.
Проблема: искомое значение не находится в первом столбце аргумента таблица
Одним из ограничений функции ВЛП является то, что она может искать только значения в левом большинстве столбцов в таблице. Если искомого значения нет в первом столбце массива, вы увидите #N/A.
В следующей таблице нам нужно узнать количество проданной капусты.
Ошибка #N/A, так как искомый аргумент «Ели» отображается во втором столбце (Продукты) аргумента table_array A2:C10. В этом случае Excel искать его в столбце A, а не в столбце B.
Решение:вы можете попытаться устранить эту проблему, настроив в этой области ссылку на правильный столбец. Если это невозможно, попробуйте передвигать столбцы. Это также может быть крайне невероятным, если у вас большие или сложные электронные таблицы, в которых значения ячеей являются результатом других вычислений, или, возможно, есть и другие логические причины, по которым просто невозможно перемещать столбцы. Решением является использование сочетания функций ИНДЕКС и ПОИСКПОЧ, которые могут искать значения в столбце независимо от их положения в таблице подытого. См. следующий раздел.
Вместо нее можно использовать индекс или СОВПАДЕНИЕ
Функции
ИНДЕКС и ВЫБОРПОЗ являются хорошими вариантами для многих случаев, когда функции ВЛИО8 не отвечают вашим требованиям. Ключевое преимущество index/MATCH заключается в том, что вы можете искать значения в столбце в любом месте таблицы подытогов. Индекс возвращает значение из указанной таблицы или диапазона в соответствии с его положением. Возвращает относительную позицию значения в таблице или диапазоне. Чтобы найти значение в таблице или массиве, укажите относительное положение значения в таблице или массиве, используйте функции ИНДЕКС и НАЙТИ В ФОРМУЛЕ.
Существует несколько преимуществ использования индекса и СОВПАДЕНИЯ вместо ВЛ ПРОСМОТР:
-
При этом возвращаемая величина не должна быть в том же столбце, что и в столбце подытовки. Это отличается от ВЛП, в котором возвращаемая величина должна быть в указанном диапазоне. Почему это важно? При использовании функции ВПР вам нужно знать номер столбца, содержащего значение. Хотя это может показаться не сложной задачей, это может оказаться утомительным, если у вас большая таблица и вам нужно подсчитать количество столбцов. Кроме того, если вы добавите или удалите столбец в таблице, вам придется пересчитать и обновить col_index_num столбца. При использовании функций ИНДЕКС и ПОИСКПОЗ не нужно подсчитывать столбцы.
-
С помощью функций ИНДЕКС и MATCH можно указать либо строку, либо столбец в массиве, либо указать и то, и другое. Это означает, что значения можно искать по вертикали и по горизонтали.
-
С помощью функций ИНДЕКС и ПОИСКПОЗ можно находить значения в любом столбце. В отличие от ВРОТ.В.В., в которой можно искать только значение в первом столбце таблицы, индекс и ВЫБОРПОЗ будут работать, если искомые значения есть в первом столбце, последнем или в любом другом месте между ними.
-
Индекс и MATCH обеспечивают гибкость динамической ссылки на столбец, содержащий возвращаемое значение. Это означает, что вы можете добавлять столбцы в таблицу, не нарушая индекс и MATCH. С другой стороны, при добавлении столбца в таблицу ВЛП разрывается, поскольку она создает статическую ссылку на таблицу.
-
Индекс и MATCH обеспечивает большую гибкость при совпадениях. Они могут найти точное совпадение или значение, которое больше или меньше искомой величины. ВПР ищет только наиболее близкое (по умолчанию) или точное значение. Кроме того, функция ВПР предполагает, что первый столбец в таблице отсортирован в алфавитном порядке, и возвращает первое наиболее близкое совпадение, поэтому вы можете получить не те данные, которые ожидали.
Синтаксис
Чтобы создать синтаксис функции ИНДЕКС или НАЙТИВКА, необходимо использовать аргумент массива или ссылки функции ИНДЕКС и вложенный в нее синтаксис ФУНКЦИИ НАЙТИВ. Это форма:
=ИНДЕКС(массив или ссылка; ПОИСКПОЗ(искомое_значение;массив;[тип_совпадения])
Заменим В ПРОСМОТР в примере выше с помощью индекса или MATCH. Синтаксис будет выглядеть следующим образом:
=ИНДЕКС(C2:C10;ПОИСКПОЗ(B13;B2:B10;0))
Что означает:
=ИНДЕКС(возвращает значение из C2:C10, которое будет ФУНКЦИЕЙ НАЙТИВ(Ольга, которая находится в массиве B2:B10, где возвращаемая величина является первым значением, соответствующим Значению Ольга))
Формула ищет в C2:C10 первое значение, соответствующее значению Капуста (B7), и возвращает значение в ячейке C7 (100).
Проблема: не найдено точное совпадение
Если range_lookup ложь и не удается найти точное совпадение в данных, возвращается #N/A.
Решение.Если вы уверены в том, что в вашей книге есть соответствующие данные, но не можете найти их, убедитесь, что в ячейках, на которые ссылается ссылка, нет скрытых пробелов или непечатаемых символов. Кроме того, убедитесь, что ячейки следуют за правильным типом данных. Например, ячейки с числами должны иметь формат «Число»,а не «Текст».
Кроме того, для очистки данных в ячейках можно использовать функцию CLEAN или TRIM.
Проблема: искомое значение меньше, чем наименьшее значение в массиве
Если range_lookup имеет значение ИСТИНА и искомого значения меньше наименьшего значения в массиве, вы увидите #N/A. Функция ищет приблизительное совпадение в массиве и возвращает ближайшее значение, которое меньше искомого.
В приведенном ниже примере искомое значение равно 100, но в диапазоне B2:C10 нет значений меньше 100, поэтому возникает ошибка.
Решение.
-
Исправьте искомое значение.
-
Если вы не можете изменить искомые значения и вам нужна большая гибкость, думайте об использовании индексов иПОЗ вместо ВЛИО (см. раздел выше в этой статье). Они позволяют находить значения больше или меньше искомого, а также равные ему. Дополнительные сведения см. в предыдущем разделе этой статьи.
Проблема: столбец подстановки не отсортирован в порядке возрастания
Если range_lookup имеет вид ИСТИНА и один из столбцов подытог не отсортировали в порядке возрастания (A–Z), вы увидите ошибку #N/A.
Решение.
-
Измените функцию ВПР так, чтобы искать точное совпадение. Для этого укажите для аргумента диапазон_поиска значение ЛОЖЬ. Для этого не требуется сортировка.
-
Для поиска значения в несортированной таблице можно также использовать функции ИНДЕКС и ПОИСКПОЗ.
Проблема: значение является большим числом с плавающей запятой
При наличии в ячейках значений времени или больших десятичных чисел Excel возвращает ошибку «#Н/Д» из-за точности чисел с плавающей запятой. Числа с плавающей запятой включают цифры после десятичной запятой. (Excel значения времени в качестве чисел с плавающей за точкой.) Excel не удается сохранить числа с очень большими плавающей за точкой, поэтому для правильной работы функции числа с плавающей за дробной частью необходимо округлять до 5 десятичных дробных мест.
Решение. Округлите числа до 5 десятичных разрядов с помощью функции ОКРУГЛ.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
-
Исправление ошибки #Н/Д
-
ВLOOKUP: больше нет #NA
-
Арифметические данные с плавающей за точкой могут привести к неверным результатам в Excel
-
Краткий справочник: функция ВПР
-
Функция ВПР
-
Полные сведения о формулах в Excel
-
Рекомендации, позволяющие избежать появления неработающих формул
-
Обнаружение ошибок в формулах
-
Все функции Excel (по алфавиту)
-
Функции Excel (по категориям)
Skip to content
Функция ВПР – это очень мощный инструмент поиска. Но если он по каким-то причинам завершился неудачно, то вы получите сообщение об ошибке #Н/Д (#N/A в английском варианте).
Давайте постараемся вместе ответим на вопрос: «Почему функция ВПР не работает?»
В первую очередь, сообщение об ошибке вы увидите, если данные, которое вы ищете, действительно отсутствуют в указанном диапазоне поиска. Здесь мы бессильны.
Все остальные случаи связаны с тем, что мы что-то не учли или сделали неверно.
Итак, почему ВПР не находит значение, хотя оно есть?
- Неточность при вводе данных.
- Опечатка при вводе функции.
- Неверные ссылки.
- Неверно указан параметр «интервальный просмотр».
- Столбец поиска не является первым слева столбцом диапазона поиска.
- Несовпадение форматов данных.
- Преобразуем число в текст.
- Преобразуем текст в число.
- Если числовой и текстовый форматы беспорядочно перемешаны?
- Лишние пробелы и непечатаемые знаки.
- Неправильно указан номер столбца.
- Неверная ссылка на данные из другой таблицы
- После изменения таблицы функция ВПР перестала работать
- Как убрать сообщение #Н/Д в ВПР?
Неточность при вводе данных.
В этом случае ничего найти не получится, и ВПР возвратит ошибку #Н/Д. Самое простое решение здесь очень часто оказывается самым верным. Быть может, вы просто ошиблись при вводе критерия поиска.
Это вполне может случиться, особенно если вы записываете его прямо в формулу.
Опечатка при вводе функции.
Если вы видите ошибку #ИМЯ?, то это означает, что при записи названия самой функции вы допустили неточность – перепутали или добавили лишнюю букву.
Проверьте синтаксис, и всё будет в порядке.
Неверные ссылки.
Проверьте, верно ли вы указали диапазон поиска, а также координаты значения, которое мы будем искать.
Случается, что в формуле вы указали обычные (относительные) ссылки, забыв заменить их на абсолютные ($), а затем произвели какие-то действия с таблицей. К примеру, добавили столбец. Ваши ссылки в формуле теперь будут указывать на неверные координаты.
Важно! При таком изменении ссылок вы можете и не знать, что найдено не то, что нужно. Ведь какое-то значение все же возвращено, хоть и неверное. Поэтому будьте внимательны в использовании относительных и абсолютных ссылок! Рекомендуем по этой причине стараться использовать «умные» таблицы или именованные диапазоны.
Неверно указан параметр «интервальный просмотр».
Включен поиск до первого приблизительного совпадения в отсортированном диапазоне (параметр = ИСТИНА или вовсе опущен), но на самом деле данные не отсортированы.
Об этой проблеме мы подробно говорили ранее.
Столбец поиска не является первым слева столбцом диапазона поиска.
Часто забывают о том, что ВПР ищет совпадающие данные только в первом слева столбце диапазона, который вы указали.
Если ваши просматриваемые данные находятся не в первом, а во втором или другом столбце, то она не сможет найти ни одного совпадения, и вы вновь увидите сообщение #Н/Д.
Это важное ограничение нельзя забывать.
Несовпадение форматов данных.
Формат ячейки, откуда берется искомое значение наименования (например D3 в нашем случае), и формат ячеек первого столбца (A3:A21) из диапазона поиска отличаются (например, числовой и текстовый). Этот случай особенно часто встречается при использовании вместо текстовых наименований числовых кодов (номера счетов, артикулы, идентификаторы, даты и т.п.). Ведь число, записанное в таблицу Excel, может быть в двух принципиально разных состояниях — как число и как текст. И визуально их отличить практически невозможно.
Преобразуем число в текст.
Как видите, с виду записи одинаковы, однако в D6 артикул сохранен как число, а в A10 – как текст (на таких ячейках обычно видна пометка — зелёный уголок). Текст не может быть равнозначен числу, поэтому получаем #Н/Д. ВПР не находит значение, хотя оно с виду есть.
Как решить эту проблему со случайным несоответствием в формате записи? Можно использовать функцию ТЕКСТ, которая преобразует любой тип данных в текстовый вид.
Используем формулу
=ВПР(ТЕКСТ(D6;»#»);$A$3:$B$21;2;ЛОЖЬ)
Как видно, обычную ссылку на D6 мы заменяем конструкцией
TEXT(D6,»#»)
Первый аргумент – это адрес, а второй аргумент означает формат, в который мы будем преобразовывать значение (в нашем случае – текстовый).
Можно поступить и проще — «приклеить» к числу пустую строку при помощи оператора склейки &.
=ВПР(D6&»»;$A$3:$B$21;2;ЛОЖЬ)
Запомните простое правило:
Если какую-либо текстовую операцию мы пытаемся провести над ячейкой, в которой записано число, то Excel обязательно попытается превратить это число в текст.
Если несовпадение форматов встречается редко, то можно просто исправить формат записи данных. Измените формат ячейки на текстовый и пересохраните ее содержание (F2 и затем ENTER). Содержимое будет преобразовано в текст.
Как видите, ошибка исчезла, поскольку теперь текстовое значение сравнивается с таким же текстом.
Преобразуем текст в число.
А если нужно сделать обратное преобразование? Преобразовать число как текст в обычное число, чтобы все данные в таблице были одного типа? Давайте рассмотрим на примере.
Добавьте перед проблемным значением двойной минус. Это означает — дважды умножить на минус 1. А еще со школы мы помним, что минус на минус дает плюс. В результате ничего не изменится. Но есть важный момент.
Если какую-либо математическую операцию мы пытаемся провести над ячейкой, в которой записан текст, то Excel обязательно попытается преобразовать его в число, чтобы выполнить вычисления.
Так же и в нашем случае. Текст преобразуется в число. Итак, наша формула выглядит следующим образом:
=ВПР(—A2;$D$2:$E$8;2;0)
Если числовой и текстовый форматы беспорядочно перемешаны?
А теперь — самый сложный случай. И здесь тоже есть простое решение.
Если поиск с преобразованием значения в число не удался, то будем искать его как текст. Объединяем оба варианта при помощи функции ЕСЛИОШИБКА.
=ЕСЛИОШИБКА(ВПР(—O2;$R$2:$S$8;2;0);ВПР(O2&»»;$R$2:$S$8;2;0))
В результате получаем немного громоздкий, но зато вполне универсальный вариант, который позволит избежать ошибок в формуле ВПР из-за несовпадения форматов значений.
Лишние пробелы и непечатаемые знаки.
Формула не работает, потому что в артикуле присутствуют пробелы или невидимые непечатаемые знаки (перенос строки и т.п.).
В нашем примере на картинке чуть выше формула ВПР возвратила ошибку, так как в D8 при вводе данных случайно были добавлены два пробела после слова. И, поскольку сравниваются символьные значения, поиск, естественно, завершился неудачно.
Такая неточность может встречаться довольно часто, и обнаружить её визуально практически невозможно. К примеру, если наименование состоит из 2 слов, то вполне возможно случайное появление лишнего пробела между этими словами.
Могут быть также случайно добавлены символы, невидимые на экране и на печати (табуляция, перевод строки и т.д.). Визуально определить такие неточности ввода вы не сможете.
В этом случае можно использовать функции СЖПРОБЕЛЫ (TRIM) и ПЕЧСИМВ (CLEAN) для удаления лишних пробелов либо других невидимых символов. Вместо
=ВПР(D8;$A$3:$B$21;2;ЛОЖЬ)
вводим
=ВПР(СЖПРОБЕЛЫ(ПЕЧСИМВ(D8));$A$3:$B$21;2;ЛОЖЬ)
или
=VLOOKUP(TRIM(CLEAN(D8)),$A$3:$B$21,2,FALSE)
Функция СЖПРОБЕЛЫ убирает пробелы, а ПЕЧСИМВ удаляет все непечатаемые и невидимые символы.
Эту комбинацию функций рекомендуем применять всегда «на всякий случай», чтобы подстраховать себя от случайных неточностей ввода данных.
Неправильно указан номер столбца.
Иногда функция ВПР не срабатывает, потому что неправильно указан номер столбца, значение из которого вы хотите получить (третий аргумент).
Он не может быть меньше 1 и не может быть больше, чем количество столбцов в указанном для поиска диапазоне. Если он указан неверно, то получим ошибку #ЗНАЧ!
Когда вы видите такое, пересчитайте количество колонок в диапазоне, который вы указали, и убедитесь, что оно не меньше, чем номер, указанный третьим аргументом функции. Быть может, вы указали 4, а колонок всего 3.
И в любом случае – это число должно быть больше 1. Вряд ли кто-то из вас будет руками вводить 0 или -1, но если вы получаете его при помощи каких-то вычислений, вложенных в формулу, то здесь-то и может быть проблема.
Неверная ссылка на данные из другой таблицы
Мы с вами говорили о том, что диапазон поиска может быть расположен в другой таблице или даже в другом файле Excel.
Если вы случайно допустили неточность при указании ссылки на эти данные, то увидите сообщение #ССЫЛКА!.
Это будет означать, что вы ссылаетесь на неверный диапазон, который Excel найти не может.
После изменения таблицы функция ВПР перестала работать
Вы сделали все правильно и до тех пор, пока вы не вставили несколько строк или столбцов в вашу таблицу, все работало верно.
Теперь же появилась ошибка #Н/Д либо результаты стали явно неверны. В чем дело?
А дело всё в том, что вы не использовали абсолютные ссылки, не добавляли к адресам ячеек, строк и столбцов знак $. В результате после добавления (или удаления) строк или столбцов ваши ссылки изменились, и все сломалось.
Кроме того, в третьем аргументе вы указываете порядковый номер столбца, из которого нужно извлечь данные. Но если вы вставили дополнительные колонки, то и количество столбцов, и их порядковые номера изменятся. А у вас в формуле используются «старые» номера.
Постарайтесь отменить сделанные изменения, благо Excel хранит всю историю изменений вашей таблицы.
Важно! Всегда используйте абсолютные ссылки, где это необходимо, чтобы застраховать себя от подобных неожиданных изменений.
Как убрать сообщение #Н/Д в ВПР?
Если функция не находит точного совпадения или искомого объекта просто нет в таблице, то она выдает сообщения, о которых мы говорили выше. С одной стороны, это хорошо, поскольку отрицательный результат- это тоже результат.
Однако, иногда это не очень удобно, т.к. такие сообщения потом порождают новые проблемы в расчете итогов, попадают в распечатку и т.д. Ведь если на эту ячейку ссылаются какие-то другие формулы, то они будут неправильно работать.
Можно легко перехватить ошибки и заменить их на любое другое подходящее нам значение (например, на ноль) с помощью функции ЕСЛИОШИБКА.
Синтаксис её подобен ЕСЛИ. В качестве условия используется выражение, которое потенциально может возвратить сообщение об ошибке.
=ЕСЛИОШИБКА([выражение];[значение_если_ошибка])
Задача – заменить его числом или выражением, указанным во втором аргументе. Рассмотрим это на примере.
В нашем случае маракуйя отсутствует в прайсе. Но вместо #Н/Д мы выведем ноль.
Вот как нужно будет преобразовать наши формулы, чтобы все выглядело красиво.
=ЕСЛИОШИБКА(ВПР(A4;$D$2:$E$7;2;0);0)
Естественно, вместо нуля можно вписать «не найдено» либо любое другое сообщение, а можно просто поставить пробел. Но в случае, когда на основе этих ячеек затем производятся какие-то вычисления, ноль, возможно, будет предпочтительнее.
Надеемся, теперь вы сможете ответить на вопрос: «Почему не работает функция ВПР в Excel?».
[the_ad_group id=»48″]
Еще полезные примеры:
Не работает ВПР в Excel н д? Причина в том, что формула не может найти необходимое значение, к примеру, из-за отсутствия искомого параметра в файле. Убедитесь, что такой показатель имеется в первоначальных данных, проверьте тип значений, удалите лишние пробелы, используйте способы точного / ориентировочного совпадения, задействуйте правильные аргументы и т. д. Ниже рассмотрим, в чем могут быть причины, и как действовать для восстановления работоспособности Эксель.
Причины и пути решения в Excel
Существует много причин, почему не работает ВПР в Excel и появляется надпись Н / Д. В каждой из ситуаций необходимо индивидуально подходить к решению вопроса с учетом возникшей неисправности.
Наиболее эффективный метод
В ситуации, когда не работает функция ВПР в Excel, проверьте наличие элемента на листе или задействуйте в формуле функцию обработки ошибок, к примеру, =ЕСЛИОШИБКА(ФОРМУЛА();0). В таком случае при появлении сбоев в расчете показывается ноль, а в ином случае — результат формулы. Можно дополнить запись “”, чтобы ничего не показывалось, или внести в скобки какую-либо запись.
Ошибка в типе параметров
Характерная причина, почему не работает ВПР в Excel — нахождение исходных / искомых данных к различным типам. К примеру, если вы используете ВПР в виде числа, а исходные данные сохраняются в качестве текста. Для решения вопроса убедитесь, что типы информации идентично. Для проверки формата сделайте следующее:
- Выберите ячейку (одну или несколько).
- Жмите правой кнопкой мышки.
- Выберите формат ячеек, а дальше Число.
- Измените формат.
Для принудительного внесения изменений нужно изменить формат для всего столбца. Для начала примените требуемое форматирование, а после выберите «Данные», «Текст по столбцам» и «Готово». После этого проверьте, появляется Н Д или нет.
Лишние пробелы
Распространенная причина, почему не работает формула ВПР в Excel, состоит в наличии пробелов. Для их удаления используйте функцию СЖПРОБЕЛЫ.
Ошибки метода поиска совпадения
Следующее объяснение, почему не срабатывает ВПР в Excel и возвращается Н Д — ошибки в применении метода совпадения. По умолчанию у опции ВПР имеется аргумент «интервальный просмотр», который дает команду на поиск точного совпадения даже при отсутствии сортировки данных в таблице.
Для поиска точного совпадения введите для аргумента «интервальный_просмотр» показатель ЛОЖЬ.
При этом учтите, что ИСТИНА, которое дает возможность поиска приблизительного параметра, может вернуть ошибку Н / Д. При использовании опции ПОИСКПОЗ попробуйте поменять параметр аргумента «тип_сопоставления» для указания порядке сортировки таблицы.
Не соответствие числа строк / столбцов заданному диапазону
В ситуации, когда не работает ВПР в Excel и вылетает ошибка Н / Д, сделайте дополнительную проверку. Вам нужно убедиться, что диапазон, в отношении которого ссылается формула, правильный. Как вариант, можно ввести формулу массива в меньшее / большее количество ячеек с учетом ссылки на диапазон.
В ячейке введена надпись Н / Д или Н Д
В Эксель ВПР часто не работает, если пользователь вручную ввел в ячейку параметр #Н / Д или НД (). Для решения проблем его нужно поменять на фактические данные, как только они будут доступны. До этого момента формулы, в которых содержатся ссылки на эти ячейки, не смогут вычислить этот параметр. При этом будет возвращаться ошибка Н Д.
Другие ошибки
Дополнительно стоит выделить и ряд других ситуаций, когда ВПР в Excel по какой-то причине не работает:
- В используемой формуле нет одного или более аргументов. Для исправления проблемы введите все необходимые документы и проверьте, работает опция или нет. Для контроля можно использовать Visual Basic.
- Пользовательская опция недоступна. Для исправления проблемы убедитесь, что документ Excel с пользовательской функцией открыт, а опция работает корректно.
- Макрос имеет функцию, которая возвращает Н Д. Если ВПР не работает по этой причине, для исправления ошибки убедитесь в правдивости аргументов и их нахождении в нужных местах.
- Изменение защищенного файл с опцией ЯЧЕЙКА. Для исправления ситуации, когда ВПР в Excel не работает, жмите на комбинацию Ctrl+Alt+F9.
- Столбец не является первым слева дли поискового диапазона. Для решения проблемы нужно ввести соответствующий параметр и проверить, появляется ли Н Д. Как вариант, можно использовать функции ИНДЕКС и ПОИСКПОК в качестве гибкой альтернативы для ВПР.
- Неправильное форматирование числа. Бывают ситуации, когда цифры указаны в текстовом формате. Это часто происходит при импортировании сведений из внешней базы данных или при вводе апострофа перед числом для сохранения нуля в начале. Для решения проблемы жмите по ошибке и укажите Convert to Number. При появлении Н Д для многих чисел выделите их и жмите правой кнопкой мышки, а после выберите Format Cells и вкладку Число и Числовой.
Выше рассмотренные основные причины, почему не работает ВПР в Excel, а также описаны базовые шаги для устранения ошибки Н Д. Всегда начинайте с проверки правильности ввода параметра, а после переходите к другим вариантам.
Что за функция
В завершение кратко рассмотрим, что это за опция ВПР в Excel, и как она работает. Простыми словами, это опция, позволяющая переставлять данные из одной таблицы в соответствующие параметры другой. Английское название опции звучит как VLOOKUP. Это очень полезная опция, позволяющая сэкономить время и одновременно обработать большое количество параметров.
К примеру, в вас есть две таблицы. Первая — цены и названиями, вторая — заказ на покупку продукции. Осуществлять поиск в первом документе и пытаться вписать цену в заказ трудно. Необходимо, чтобы работа проходила автоматически. Для этого достаточно найти нужное значение в 1-м столбце и вернуть его содержимое из столбца той же строки, где находится название.
В комментариях расскажите, приходилось ли вам пользовался опцией ВПР, и случалась ли ситуация, когда она не работает в Excel, и появляется ошибка Н Д. Отдельно поделитесь, какие варианты решения вопроса можно использовать.
Отличного Вам дня!
Перейти к содержимому
В данной статье расскажу о двух ошибках которые может выдать функция ВПР() :
- Ошибка #Н/Д;
- Ошибка #ЗНАЧ.
Перечисленные выше ошибки наиболее часто встречаться при использовании функции ВПР() и очень часто вызывают трудности с устранением у начинающих пользователей Excel .
Когда возникает ошибка #Н/Д и как от нее избавиться при использовании ВПР().
Сообщение об ошибке Н/Д можно расшифровать как аббревиатуру (НД) – нет данных, то есть функции ВПР() нечего отобразить, и она как бы сообщает: «нет данных для отображения».
Почему возникает ошибка Н/Д (НД)?
- Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения нет искомого функцией ВПР() значения.
- Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения значения ячеек имеют ошибки. Иногда ошибки нельзя увидеть «не вооружённым глазом», например, если в ячейке добавлен лишний пробел или едва заметная точка. ВПР() воспринимает значение ячейки без пробела и с пробелом как совершенно разные данные и выдает ошибку «Н/Д».
- Ошибка может возникать потому, что в искомой ячейке уже стоит значение «Н/Д», то есть ВПР() подтягивает эту ошибку из другой ячейки (искомой).
Как исправить ошибки Н/Д?
- Первый способ – применить обработку ошибок – функцию ЕСЛИОШИБКА(ВПР(*;*;*;0);”Здесь была ошибка”). Эта функция заменяет сообщение об ошибке на любое значение, которое Вы укажете.
- Способ №2 – удалить все пробелы и, по возможности, знаки препинания из ячеек. Для этого нужно нажатием клавиш ctrl+H вызвать окно замены значений, потом в поле «Найти» ввести пробел или знак препинания, а в поле «Заменить на:» не вводить ничего и нажить кнопку «Заменить все».
- Способ №3 – поставить в функции ВПР() допуск ошибки. Как нам извесчтно 4 –й аргумент функции это число ошибок которые может допускать в сравниваемой строке функция ВПР(). То есть, если поставить число «1», то допускается 1 ошибка при сравнении [ВПР(*;*;*;1)]. В таком случае строка без пробела и с одним пробелом будут считаться идентичными. Но в таком способе есть подвох — очень высока вероятность неверных результатов, например, слово «полка» и «палка» имеют отличие всего в один знак и будут восприняты функцией, как одно и то же.
Когда возникает ошибка #ЗНАЧ и как от нее избавиться при использовании ВПР().
Ошибка #ЗНАЧ может выводиться функцией ВПР(), если введенные значения аргументов функции некорректны и функция не может их обработать.
Казалось бы какие значения могут быть некорректными, если ВПР() необходимо просто сравнить одно значение с другим и присвоить ячейке данные из совпавших ячеек, но эта ошибка возникает.
Появляется ошибка #ЗНАЧ в функции ВПР() тогда, когда длина строки сравниваемой функцией слишком большая и не может быть обработана. Например, в Excel 2010 максимальная длина строки обрабатываемой функцией всего 255 символов, и если Вы будете сравнивать строки длиной 256 и более символов, то получите ошибку #ЗНАЧ.
Исправить ошибку #ЗНАЧ в таком случае можно уменьшив длины сравниваемых строк.
Еще ошибка #ЗНАЧ может возникнуть если Вы пропустили(не указали) один из аргументов в функции.
- Как работает ВПР. Для чайников
- Синтаксис функции ВПР
- Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА
- Тайна четвертого параметра ВПР
- Как сделать ВПР — понятная пошаговая инструкция
- ВПР по вхождению подстроки
- Не работает ВПР — ошибки и причины
- ВПР выдает ошибку #Н/Д
- ВПР не подтягивает значение, хотя искомое в таблице есть
Функцией ВПР (по-английски VLOOKUP) пользоваться довольно просто. Есть десятки примеров и даже пошаговых инструкций. Однако, новичкам в Excel непросто даётся понимание того, как работают формулы с функцией ВПР.
В этой статье я попробую максимально понятно описать, как работает ВПР простыми словами и научить вас её использовать.
Как работает ВПР. Для чайников
Расшифровка названия функции уже дает половину ответа на вопрос «Как работает ВПР?». Ведь она расшифровывается как Вертикальный ПРосмотр. Потому что находит искомое, просматривая данные в таблице вертикально.
Синтаксис функции ВПР
Я обучал синтаксису функции многих людей, и выявил, что самая распространенная сложность — запомнить порядок аргументов функции, что за чем следует.
Когда я думаю о функции, я вспоминаю знакомую всем телепередачу «Что? Где? Когда?».
Первые два аргумента — как раз «Что?» и «Где?», и идут именно в этом порядке. Первый аргумент — искомое значение, иначе говоря, что мы ищем. Второй аргумент — диапазон, таблица, простыми словами — где мы ищем. Третий аргумент числовой, и обозначает, когда мы должны остановиться, считая столбцы в таблице слева направо от найденного в первом столбце таблицы значения.
А четвертый аргумент («интервальный просмотр») вроде бы даже не обязательный, но на поверку очень важен. Ведь от его значения зависит, как будет работать функция. Жаль, вопроса «Как?» в телепередаче не было.
Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА
Скажу заранее. Если нужно просто найти искомое значение и вернуть то, что напротив — используйте в этом параметре 0 (или ЛОЖЬ, но 0 напечатать проще) и не читайте дальше.
Если же хотите узнать главный секрет функции ВПР, то дальше информация для вас.
Тот, кто перевел последний параметр range lookup с английского как «интервальный просмотр», испортил жизнь многим новичкам в Excel.
Потому что там нет ничего интервального, все вполне себе сплошное. А корректно перевести параметр следовало бы «способ просмотра диапазона«.
Также справочный текст говорит следующее:
- ЛОЖЬ или 0 обозначает точное совпадение;
- ИСТИНА, 1 или эквивалентный им пропуск параметра (т.к. это значение по умолчанию) обозначает приблизительное совпадение
И вот с этим приблизительным совпадением сразу возникает ряд вопросов. Что значит приблизительное? Насколько? Каким алгоритмом считается «приблизительность»? Зачем сортировать? И почему по возрастанию?
Тайна четвертого параметра ВПР
Корректно и глубоко тема разницы алгоритмов поиска ВПР и ПОИСКПОЗ в рунете практически не раскрыта. Между тем, примечательный факт в том, что:
- Когда четвертый параметр ЛОЖЬ или 0 — используется линейный поиск;
- Когда он ИСТИНА, 1 или не указан явно, но используется по умолчанию — используется бинарный поиск.
В чем разница?
Линейный поиск — это когда Excel находит искомое значение, пробегая сверху вниз по одной строке. Это совершенно не оптимально, и именно поэтому с большими таблицами ВПР работает очень медленно!
Бинарный же поиск в Excel позволяет находить данные практически мгновенно, так как выполняет четыре основных шага:
- Длина диапазона данных делится пополам и позиция чтения перемещается в середину.
- Найденное значение (пусть n) сравнивается с тем, которое мы ищем (пусть m).
- Если m > n, то берется вторая часть массива, если m < n — первая часть.
- Далее шаги 1-3 повторяются на выбранной части диапазона.
Простыми словами, это похоже на поиск по словарю. Открываем его посередине, смотрим, в какой половине нужное нам значение. В первой? Тогда открываем первую часть посередине, и так продолжаем делить напополам, пока не находим искомое.
В сравнении с линейным поиском, на целиком заполненном столбце Excel (1048576 строк, или 2 в 20 степени) бинарный будет в ~52.000 раз быстрее! (1048576 поделить на 20).
Но есть несколько моментов, которые нужно знать для работы с ВПР в этом режиме:
- Данные должны быть сортированы по возрастанию (как и полагается любому словарю).
- Если искомое не найдено, возвращается значение той строки, что предшествовала бы искомой, если бы она была в диапазоне.
- Если вы уверены, что все искомые значения в диапазоне присутствуют, достаточно будет только сортировки
- Если искомое может отсутствовать, а вы не хотите возвращать значение другой строки, формулу можно немного усложнить.
=ЕСЛИ(ВПР(искомое;диапазон;1;1)<>искомое;"";ВПР(искомое;диапазон;n;1))
Так будет выглядеть формула, которая будет возвращать пустоту, если искомое не найдено, при этом будет оставаться столь же быстрой (практически мгновенной даже при работе с сотнями тысяч строк!).
Важный момент — в Excel 2019 и выше даже при использовании параметра 0 используется оптимальный быстрый алгоритм, поэтому большого прироста скорости в последних версиях такая формула не даст (зато даст в Excel 2016 и всех версий что раньше). Вероятнее всего, в Microsoft решили, что пришло время упростить жизнь пользователям, которые не хотят во всём этом разбираться
Как сделать ВПР — понятная пошаговая инструкция
Как сделать правильно формулу ВПР, чтобы найти несколько значений одной таблицы в другой и найти совпадения, или для совпадающих данных вернуть данные напротив?
Ниже пошаговая инструкция по использованию функции ВПР с полезными лайфхаками и картинками. Итак:
Если читали выше, я упоминал, как просто запомнить синтаксис функции ВПР. 3 вопроса в указанном порядке. Что? Где? Когда? И потом уже «Как?»
- Что?
Что будет искать формула? Как правило, здесь указывается адрес ячейки, в которой находится искомое значение.
- Где?
Где будет искать формула значение из первого шага? Обычно тут указывается диапазон ячеек, состоящий из нескольких столбцов. Лайфхак: выделяйте столбцы целиком (например, B:D), а не диапазон ($B$2:$D$250). Это быстрее и не требует закреплять диапазоны (а закреплять их нужно, иначе при протягивании формулы вниз адрес будет меняться). Выделить столбцы можно, проведя по буквам столбцов левой кнопкой мыши (как показывает стрелка на скриншоте).
- Когда?
Когда остановиться, считая слева направо для выбора возвращаемого формулой значения? В данном случае нам нужна сумма, а это второй столбец таблицы.
- Как?
Как искать? О разнице способов поиска ВПР читайте выше: Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА? Обычно выбирается линейный поиск, так что тут вводим «0».
И на всякий случай, пройдем все шаги подряд и посмотрим, как это выглядит на практике.
ВПР по вхождению подстроки
Помимо поиска по точному совпадению, ВПР умеет искать данные и с неточным совпадением, т.к. поддерживает подстановочные символы (? и *). Важно, что их учёт возможен только в режиме линейного поиска (четвертый параметр 0 или ЛОЖЬ). Ниже пример с использованием знака вопроса, обозначающего один любой символ:
Не работает ВПР — ошибки и причины
Функция ВПР иногда ведет себя непредсказуемо, например, не подтягивает значения, возвращает ошибки там, где не должна, или возвращает неожиданные значения. Рассмотрим, почему ВПР не срабатывает так, как должен.
ВПР выдает ошибку #Н/Д
Формулы с ВПР выдают ошибку «#Н/Д», когда функция не находит искомое значение в указанной таблице. Следует понимать, что поиск производится исключительно по первому столбцу, а также — что если не закрепить выбранный диапазон поиска, при протягивании формулы будет смещаться и он, что в 99% случаев будет приводить к ошибкам.
Хотите избавиться от ошибки, когда искомое не найдено? Почитайте, как сделать это с помощью функции ЕСЛИОШИБКА в соответствующей статье. А я лишь приведу формулы оттуда:
=ЕСЛИОШИБКА(ВПР(ячейка-или-значение;диапазон;номер-столбца;0);"ошибка")
=ЕСЛИОШИБКА(ВПР(ячейка-или-значение;диапазон;номер-столбца;0);"")
ВПР не подтягивает значение, хотя искомое в таблице есть
Иногда такое бывает — вы видите, что в таблице есть данные, которые вы ищете, но ВПР будто не срабатывает. Не находит данные. Абсолютно всегда проблема не в ВПР, а в самих данных, и они действительно не совпадают. Самые распространенные проблемы, когда визуально в ячейках одинаковы, но на поверку — нет:
- В таблице искомых значений или в диапазоне поиска присутствуют лишние пробелы, которые нужно удалить.
- Вместо обычных пробелов в ячейках используются неразрывные пробелы, визуально между ними нет никакой разницы, но программа её видит.
- В данных присутствуют переносы строк, символы табуляции, возврат каретки и другие виды «невидимых» символов
- Вместо кириллицы используется латиница или наоборот, для букв с идентичным написанием (для компьютера русская А и английская A — разные символы!). Тогда нужно заменить кириллицу на похожую латиницу (или наоборот).
Рекомендация в таких случаях следующая. Попробуйте сравнить ячейки, которые видите как одинаковые, отдельно (Например, скопируйте их в ячейки A1 и A2 на другой лист). Сначала сравните целиком (=A1=A2, должно вернуть «ИСТИНА»), если конструкция возвращает «ЛОЖЬ», сравните их уже посимвольно (первый символ с первым, второй со вторым и т.д.), здесь вам поможет функция ПСТР.
Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
Функция ВПР самая популярная и часто используемая функция. Знание данной функции очень поможет вам в вашей работе. Описание работы функции ВПР с примером вы можете посмотреть в специальной статье, а в данном уроке мы рассмотрим примеры, когда функция ВПР не работает или выдает ошибки.
Если вы научились использовать функцию, но у вас возникает ошибка, то в этой статье мы рассмотрим возможные ошибки и пути их решения.
Содержание
- 1 Столбец поиска искомого значения не является крайним левым.
- 2 Функция ВПР возвращает ошибку #Н/Д (#N/A)
- 2.1 1. Не закреплен диапазон таблицы
- 2.2 2. Искомое значение и значение в просматриваемом диапазоне не совпадает
- 3 Функция ВПР возвращает ошибку #ЗНАЧ! (#VALUE!)
- 3.1 1. Искомое значение больше 255 символов.
- 3.2 2. Неправильно указан полный путь на другую книгу.
- 3.3 3. Аргумент номер_столбца в функции ВПР меньше 1
- 4 Другие важные особенности работы функции ВПР
- 4.1 1. ВПР не чувствительна к регистру
- 4.2 2. ВПР возвращает первое найденное значение
- 4.3 3. Работа функции ВПР и добавлении или удалении столбца
Столбец поиска искомого значения не является крайним левым.
Самая распространенная ошибка, когда ВПР не работает. Давайте рассмотрим тот же пример, что мы рассматривали при описании функции ВПР. У нас есть таблица заказов и Прайс лист.
Обратите внимание, что в данном примере таблица Прайс лист отличается. Названия товаров теперь находятся не в первом столбце, а в третьем, после цены товара.
В текущем виде нельзя будет воспользоваться функцией ВПР, так как функция находит искомое значение в Крайнем левом столбце и возвращает значение из указанного вами номера столбца который находится правее крайнего левого столбца.
В нашем случае правее ничего нет, поэтому ВПР не будет работать.
Решение
1. Если есть возможность, то перенесите столбец, где ищется искомое значение в крайнее левое положение (либо просто левее столбца из которого необходимо возвращать значение, в нашем примере относительно столбца с ценой) как указано на рисунке выше.
2. Обычно переносить столбец не очень удобно, например в случаях, когда эту таблицу нам присылаются постоянно в таком формате, поэтому как правило применяют прием добавления слева таблицы дублирующего вспомогательного столбца.
Выделяем первый столбец прайс листа, выбираем «Главная», «Ячейка», «Вставить», «Вставить столбцы на лист». Либо используйте пустой столбец, если он у вас уже есть.
Встаем в первую ячейку вспомогательного столбца и просто делаем ссылку на нужный нам столбец и протягиваем формулу вниз.
Получили точную копию столбца с наименованием товара левее цены, теперь можно использовать функцию ВПР. Таблицу теперь необходимо брать начиная с нашего вспомогательного столбца.
3. Можно использовать комбинацию функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), как более гибкую альтернативу для ВПР.
Функция ВПР возвращает ошибку #Н/Д (#N/A)
#Н/Д (#N/A) означает «Нет данных» («not available»). При протягивании формулы ВПР у вас появляется #Н/Д. Вопрос даже не в том, что ВПР не работает, а почему появляются данные значения.
Решение
1. Не закреплен диапазон таблицы
Если при протягивании формулы ВПР у вас первое значение подтянулось а в остальных отобразилось #Н/Д то скорее всего вы не закрепили диапазон таблицы с помощью $ и при протягивании у вас таблица начала съезжать вниз. Еще раз прочитайте внимательно описание функции ВПР с примером.
2. Искомое значение и значение в просматриваемом диапазоне не совпадает
На рисунке выше есть #Н/Д два раза. Один раз напротив товара «Савок» и другой напротив слова «Стол».
В первом случае понятно — товара «Савок» у нас нет в прайс листе, отсюда и ошибка.
Во втором случае непонятно, товар «Стол» у нас есть, но все равно Н/Д#. Как правило ошибка заключается в написании слов и форматах либо в таблице заказов либо на странице Прайс лист.
В нашем случае у нас после слова «Стол » стоит пробел, поэтому данное слово не находится в прайс листе. Для начала проверьте содержимое ячеек на невидимые пробелы. Особенно часто они встречаются в конце строки. Кликните на ячейку и переместитесь в конец формулы. Удалите лишние пробелы, если они есть.
В данном примере можно так же использовать функцию СЖПРОБЕЛЫ
=ВПР(СЖПРОБЕЛЫ(A3);$F$2:$I$16;3;0)
то есть искомое значение сразу пропускается через данную функцию, чтобы удалить в искомом значении лишние пробелы.
В нашем случаем мы ищем текстовые значения — «Наименование товара», иногда поиск идет по числовым значениям. В данном случае #Н/Д может появляться, когда искомое значение, например в формате числа, а в таблице в виде текста. Для исправления ошибку потребуется перевести формат текста в числа или наоборот, то есть сделать одинаковый формат.
Еще более редкий случай, это когда в слове может быть вместо русских слов латинские и наоборот. Например A и А это разные буквы разных алфавитов, поэтому и слова будут разными для ВПР. Чтобы проверить, просто сделайте в отдельном столбце ссылку одной ячейки на другую =A4=F6 в нашем примере эта формула вернет «Ложь» так как эти ячейки не равны (в одном слове есть лишний пробел), аналогичная ситуация будет если вместо русской буквы «С» будет английская буква «C».
Что интересно, используя #Н/Д можно находить неуникальные значения в списках. Например, у вас есть список сотрудников компании и вам присылают другой список сотрудников и просят из этого списка найти тех людей, которые не работают в вашей компании. Применяем ВПР одного списка к другому и там где #Н/Д и будут люди, которые не работают в вашей компании.
Функция ВПР возвращает ошибку #ЗНАЧ! (#VALUE!)
Обычно Excel сообщает об ошибке #VALUE! (#ЗНАЧ!), когда значение, использованное в формуле, не подходит по типу данных. Если брать функцию ВПР, то обычно стоит рассмотреть две основные причины ошибки #ЗНАЧ!.
1. Искомое значение больше 255 символов.
В функции ВПР есть ограничение на длину искомого значения – оно не должно быть более 255 символов. Если вы столкнулись с такой проблемой, то рекомендуем использовать для этих целей все ту же связку ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH).
2. Неправильно указан полный путь на другую книгу.
Эта ошибка может возникнуть, если вы извлекаете данных из другой книги Excel прописали неполный путь до нее. Чтобы не ошибиться при написании формулы не пишите путь к другой книге от руки, а откройте эту книгу и выделяйте нужный диапазон.
3. Аргумент номер_столбца в функции ВПР меньше 1
Это может произойти если номер столбца вы ищите с помощью какой-то другой функции. Просто проверьте и убедитесь, что функция работает корректно.
Другие важные особенности работы функции ВПР
Если вы хотите разбить не саму ячейку, а текст в ячейке по столбцам, то тогда вам нужно смотреть другую статью «Как разбить текст по столбцам в Excel»
1. ВПР не чувствительна к регистру
Функция ВПР не чувствительна к регистру и для нее все символы нижнего и верхнего регистра будут одинаковые. То есть, слово «Стол», «СТОЛ» и «стол» для функции ВПР будут одинаковыми.
Если вам необходимо учитывать регистр при использовании ВПР, то используйте другую функцию Excel, наприме (ПРОСМОТР, СУММПРОИЗВ, ИНДЕКС и ПОИСКПОЗ) в сочетании с СОВПАД, которая различает регистр и возвращается ИСТИНУ или ЛОЖЬ при совпадении или не совпадении с искомым значением.
2. ВПР возвращает первое найденное значение
Всегда помните, что ВПР возвращает первое найденное значение, поэтому если в нашем примере в прайс листе по ошибке будет два одинаковых товара с разной ценой, то возвращаться будет только первый цена.
3. Работа функции ВПР и добавлении или удалении столбца
Как правило при написании функции ВПР мы в ручную отсчитываем столбец и указываем его в виде числа. В нашем примере с прайс листом. Вы визуально определили, что вместе с вспомогательным столбцом, цена товара находится в третьем столбце и указали цифру 3 в функцию.
Если кто-то добавит перед столбцом с ценой какую-нибудь информацию, например об остатках товара, то теперь в третьем столбце будет остаток товаров, а цена будет в 4-м столбце, но формуле это автоматически не поменяется, мы должны помнить об этом и менять информацию.
Для решения этой проблемы можно использовать функцию ПОИСКПОЗ для поиска номера столбца. В качестве искомого значения мы можем указать текст «Цена» и искать в строке — шапке таблице Прайс лист. Теперь если добавлять столбцы в таблицу Прайс лист, то функция ПОИСКПОЗ все равно найдет ячейку со словом «Цена» и вернет на номер позиции данной ячейки.
Этот урок объясняет, как быстро справиться с ситуацией, когда функция ВПР (VLOOKUP) не хочет работать в Excel 2013, 2010, 2007 и 2003, а также, как выявить и исправить распространённые ошибки и преодолеть ограничения ВПР.
В нескольких предыдущих статьях мы изучили различные грани функции ВПР в Excel. Если Вы читали их внимательно, то сейчас должны быть экспертом в этой области. Однако не без причины многие специалисты по Excel считают ВПР одной из наиболее сложных функций. Она имеет кучу ограничений и особенностей, которые становятся источником многих проблем и ошибок.
В этой статье Вы найдёте простые объяснения ошибок #N/A (#Н/Д), #NAME? (#ИМЯ?) и #VALUE! (#ЗНАЧ!), появляющихся при работе с функцией ВПР, а также приёмы и способы борьбы с ними. Мы начнём с наиболее частых случаев и наиболее очевидных причин, почему ВПР не работает, поэтому лучше изучать примеры в том порядке, в каком они приведены в статье.
- Исправляем ошибку #Н/Д
- Исправляем ошибку #ЗНАЧ! в формулах с ВПР
- Ошибка #ИМЯ? в ВПР
- ВПР не работает (проблемы, ограничения и решения)
- ВПР – работа с функциями ЕСЛИОШИБКА и ЕОШИБКА
Содержание
- Исправляем ошибку #Н/Д функции ВПР в Excel
- 1. Искомое значение написано с опечаткой
- 2. Ошибка #Н/Д при поиске приближённого совпадения с ВПР
- 3. Ошибка #Н/Д при поиске точного совпадения с ВПР
- 4. Столбец поиска не является крайним левым
- 5. Числа форматированы как текст
- 6. В начале или в конце стоит пробел
- Ошибка #ЗНАЧ! в формулах с ВПР
- 1. Искомое значение длиннее 255 символов
- 2. Не указан полный путь к рабочей книге для поиска
- 3. Аргумент Номер_столбца меньше 1
- Ошибка #ИМЯ? в ВПР
- ВПР не работает (ограничения, оговорки и решения)
- 1. ВПР не чувствительна к регистру
- 2. ВПР возвращает первое найденное значение
- 3. В таблицу был добавлен или удалён столбец
- 4. Ссылки на ячейки исказились при копировании формулы
- ВПР – работа с функциями ЕСЛИОШИБКА и ЕОШИБКА
- ВПР: работа с функцией ЕСЛИОШИБКА
- ВПР: работа с функцией ЕОШИБКА
Исправляем ошибку #Н/Д функции ВПР в Excel
В формулах с ВПР сообщение об ошибке #N/A (#Н/Д) – означает not available (нет данных) – появляется, когда Excel не может найти искомое значение. Это может произойти по нескольким причинам.
1. Искомое значение написано с опечаткой
Хорошая мысль проверить этот пункт в первую очередь! Опечатки часто возникают, когда Вы работаете с очень большими объёмами данных, состоящих из тысяч строк, или когда искомое значение вписано в формулу.
2. Ошибка #Н/Д при поиске приближённого совпадения с ВПР
Если Вы используете формулу с условием поиска приближённого совпадения, т.е. аргумент range_lookup (интервальный_просмотр) равен TRUE (ИСТИНА) или не указан, Ваша формула может сообщить об ошибке #Н/Д в двух случаях:
- Искомое значение меньше наименьшего значения в просматриваемом массиве.
- Столбец поиска не упорядочен по возрастанию.
3. Ошибка #Н/Д при поиске точного совпадения с ВПР
Если Вы ищете точное совпадение, т.е. аргумент range_lookup (интервальный_просмотр) равен FALSE (ЛОЖЬ) и точное значение не найдено, формула также сообщит об ошибке #Н/Д. Более подробно о том, как искать точное и приближенное совпадение с функцией ВПР.
4. Столбец поиска не является крайним левым
Как Вы, вероятно, знаете, одно из самых значительных ограничений ВПР это то, что она не может смотреть влево, следовательно, столбец поиска в Вашей таблице должен быть крайним левым. На практике мы часто забываем об этом, что приводит к не работающей формуле и появлению ошибки #Н/Д.
Решение: Если нет возможности изменить структуру данных так, чтобы столбец поиска был крайним левым, Вы можете использовать комбинацию функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), как более гибкую альтернативу для ВПР.
5. Числа форматированы как текст
Другой источник ошибки #Н/Д в формулах с ВПР – это числа в текстовом формате в основной таблице или в таблице поиска.
Это обычно случается, когда Вы импортируете информацию из внешних баз данных или когда ввели апостроф перед числом, чтобы сохранить стоящий в начале ноль.
Наиболее очевидные признаки числа в текстовом формате показаны на рисунке ниже:
Кроме этого, числа могут быть сохранены в формате General (Общий). В таком случае есть только один заметный признак – числа выровнены по левому краю ячейки, в то время как стандартно они выравниваются по правому краю.
Решение: Если это одиночное значение, просто кликните по иконке ошибки и выберите Convert to Number (Конвертировать в число) из контекстного меню.
Если такая ситуация со многими числами, выделите их и щелкните по выделенной области правой кнопкой мыши. В появившемся контекстном меню выберите Format Cells (Формат ячеек) > вкладка Number (Число) > формат Number (Числовой) и нажмите ОК.
6. В начале или в конце стоит пробел
Это наименее очевидная причина ошибки #Н/Д в работе функции ВПР, поскольку зрительно трудно увидеть эти лишние пробелы, особенно при работе с большими таблицами, когда большая часть данных находится за пределами экрана.
Решение 1: Лишние пробелы в основной таблице (там, где функция ВПР)
Если лишние пробелы оказались в основной таблице, Вы можете обеспечить правильную работу формул, заключив аргумент lookup_value (искомое_значение) в функцию TRIM (СЖПРОБЕЛЫ):
=VLOOKUP(TRIM($F2),$A$2:$C$10,3,FALSE)
=ВПР(СЖПРОБЕЛЫ($F2);$A$2:$C$10;3;ЛОЖЬ)
Решение 2: Лишние пробелы в таблице поиска (в столбце поиска)
Если лишние пробелы оказались в столбце поиска – простыми путями ошибку #Н/Д в формуле с ВПР не избежать. Вместо ВПР Вы можете использовать формулу массива с комбинацией функций ИНДЕКС (INDEX), ПОИСКПОЗ (MATCH) и СЖПРОБЕЛЫ (TRIM):
=INDEX($C$2:$C$10,MATCH(TRUE,TRIM($A$2:$A$10)=TRIM($F$2),0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(ИСТИНА;СЖПРОБЕЛЫ($A$2:$A$10)=СЖПРОБЕЛЫ($F$2);0))
Так как это формула массива, не забудьте нажать Ctrl+Shift+Enter вместо привычного Enter, чтобы правильно ввести формулу.
Ошибка #ЗНАЧ! в формулах с ВПР
В большинстве случаев, Microsoft Excel сообщает об ошибке #VALUE! (#ЗНАЧ!), когда значение, использованное в формуле, не подходит по типу данных. Что касается ВПР, то обычно выделяют две причины ошибки #ЗНАЧ!.
1. Искомое значение длиннее 255 символов
Будьте внимательны: функция ВПР не может искать значения, содержащие более 255 символов. Если искомое значение превышает этот предел, то Вы получите сообщение об ошибке #ЗНАЧ!.
Решение: Используйте связку функций ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH). Ниже представлена формула, которая отлично справится с этой задачей:
=INDEX(C2:C7,MATCH(TRUE,INDEX(B2:B7=F$2,0),0))
=ИНДЕКС(C2:C7;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B2:B7=F$2;0);0))
2. Не указан полный путь к рабочей книге для поиска
Если Вы извлекаете данные из другой рабочей книги, то должны указать полный путь к этому файлу. Если говорить точнее, Вы должны указать имя рабочей книги (включая расширение) в квадратных скобках [ ], далее указать имя листа, а затем – восклицательный знак. Всю эту конструкцию нужно заключить в апострофы, на случай если имя книги или листа содержит пробелы.
Вот полная структура функции ВПР для поиска в другой книге:
=VLOOKUP(lookup_value,'[workbook name]sheet name'!table_array, col_index_num,FALSE)
=ВПР(искомое_значение;'[имя_книги]имя_листа'!таблица;номер_столбца;ЛОЖЬ)
Настоящая формула может выглядеть так:
=VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D,3,FALSE)
=ВПР($A$2;'[New Prices.xls]Sheet1'!$B:$D;3;ЛОЖЬ)
Эта формула будет искать значение ячейки A2 в столбце B на листе Sheet1 в рабочей книге New Prices и извлекать соответствующее значение из столбца D.
Если любая часть пути к таблице пропущена, Ваша функция ВПР не будет работать и сообщит об ошибке #ЗНАЧ! (даже если рабочая книга с таблицей поиска в данный момент открыта).
Для получения дополнительной информации о функции ВПР, ссылающейся на другой файл Excel, обратитесь к уроку: Поиск в другой рабочей книге с помощью ВПР.
3. Аргумент Номер_столбца меньше 1
Трудно представить ситуацию, когда кто-то вводит значение меньше 1, чтобы обозначить столбец, из которого нужно извлечь значение. Хотя это возможно, если значение этого аргумента вычисляется другой функцией Excel, вложенной в ВПР.
Итак, если случилось, что аргумент col_index_num (номер_столбца) меньше 1, функция ВПР также сообщит об ошибке #ЗНАЧ!.
Если же аргумент col_index_num (номер_столбца) больше количества столбцов в заданном массиве, ВПР сообщит об ошибке #REF! (#ССЫЛ!).
Ошибка #ИМЯ? в ВПР
Простейший случай – ошибка #NAME? (#ИМЯ?) – появится, если Вы случайно напишите с ошибкой имя функции.
Решение очевидно – проверьте правописание!
ВПР не работает (ограничения, оговорки и решения)
Помимо достаточно сложного синтаксиса, ВПР имеет больше ограничений, чем любая другая функция Excel. Из-за этих ограничений, простые на первый взгляд формулы с ВПР часто приводят к неожиданным результатам. Ниже Вы найдёте решения для нескольких распространённых сценариев, когда ВПР ошибается.
1. ВПР не чувствительна к регистру
Функция ВПР не различает регистр и принимает символы нижнего и ВЕРХНЕГО регистра как одинаковые. Поэтому, если в таблице есть несколько элементов, которые различаются только регистром символов, функция ВПР возвратит первый попавшийся элемент, не взирая на регистр.
Решение: Используйте другую функцию Excel, которая может выполнить вертикальный поиск (ПРОСМОТР, СУММПРОИЗВ, ИНДЕКС и ПОИСКПОЗ) в сочетании с СОВПАД, которая различает регистр. Более подробно Вы можете узнать из урока — 4 способа сделать ВПР с учетом регистра в Excel.
2. ВПР возвращает первое найденное значение
Как Вы уже знаете, ВПР возвращает из заданного столбца значение, соответствующее первому найденному совпадению с искомым. Однако, Вы можете заставить ее извлечь 2-е, 3-е, 4-е или любое другое повторение значения, которое Вам нужно. Если нужно извлечь все повторяющиеся значения, Вам потребуется комбинация из функций ИНДЕКС (INDEX), НАИМЕНЬШИЙ (SMALL) и СТРОКА (ROW).
3. В таблицу был добавлен или удалён столбец
К сожалению, формулы с ВПР перестают работать каждый раз, когда в таблицу поиска добавляется или удаляется новый столбец. Это происходит, потому что синтаксис ВПР требует указывать полностью весь диапазон поиска и конкретный номер столбца для извлечения данных. Естественно, и заданный диапазон, и номер столбца меняются, когда Вы удаляете столбец или вставляете новый.
Решение: И снова на помощь спешат функции ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH). В формуле ИНДЕКС+ПОИСКПОЗ Вы раздельно задаёте столбцы для поиска и для извлечения данных, и в результате можете удалять или вставлять сколько угодно столбцов, не беспокоясь о том, что придётся обновлять все связанные формулы поиска.
4. Ссылки на ячейки исказились при копировании формулы
Этот заголовок исчерпывающе объясняет суть проблемы, правда?
Решение: Всегда используйте абсолютные ссылки на ячейки (с символом $) при записи диапазона, например $A$2:$C$100 или $A:$C. В строке формул Вы можете быстро переключать тип ссылки, нажимая F4.
ВПР – работа с функциями ЕСЛИОШИБКА и ЕОШИБКА
Если Вы не хотите пугать пользователей сообщениями об ошибках #Н/Д, #ЗНАЧ! или #ИМЯ?, можете показывать пустую ячейку или собственное сообщение. Вы можете сделать это, поместив ВПР в функцию ЕСЛИОШИБКА (IFERROR) в Excel 2013, 2010 и 2007 или использовать связку функций ЕСЛИ+ЕОШИБКА (IF+ISERROR) в более ранних версиях.
ВПР: работа с функцией ЕСЛИОШИБКА
Синтаксис функции ЕСЛИОШИБКА (IFERROR) прост и говорит сам за себя:
IFERROR(value,value_if_error)
ЕСЛИОШИБКА(значение;значение_если_ошибка)
То есть, для первого аргумента Вы вставляете значение, которое нужно проверить на предмет ошибки, а для второго аргумента указываете, что нужно возвратить, если ошибка найдётся.
Например, вот такая формула возвращает пустую ячейку, если искомое значение не найдено:
=IFERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE),"")
=ЕСЛИОШИБКА(ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ);"")
Если Вы хотите показать собственное сообщение вместо стандартного сообщения об ошибке функции ВПР, впишите его в кавычках, например, так:
=IFERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE),"Ничего не найдено. Попробуйте еще раз!")
=ЕСЛИОШИБКА(ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ);"Ничего не найдено. Попробуйте еще раз!")
ВПР: работа с функцией ЕОШИБКА
Так как функция ЕСЛИОШИБКА появилась в Excel 2007, при работе в более ранних версиях Вам придётся использовать комбинацию ЕСЛИ (IF) и ЕОШИБКА (ISERROR) вот так:
=IF(ISERROR(VLOOKUP формула),"Ваше сообщение при ошибке",VLOOKUP формула)
=ЕСЛИ(ЕОШИБКА(ВПР формула);"Ваше сообщение при ошибке";ВПР формула)
Например, формула ЕСЛИ+ЕОШИБКА+ВПР, аналогична формуле ЕСЛИОШИБКА+ВПР, показанной выше:
=IF(ISERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE)),"",VLOOKUP($F$2,$B$2:$C$10,2,FALSE))
=ЕСЛИ(ЕОШИБКА(ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ));"";ВПР($F$2;$B$2:$C$10;2;ЛОЖЬ))
На сегодня всё. Надеюсь, этот короткий учебник поможет Вам справиться со всеми возможными ошибками ВПР и заставит Ваши формулы работать правильно.
Оцените качество статьи. Нам важно ваше мнение:
Содержание материала
- Как вызвать функцию ВПР. Функция ВПР в Excel
- Видео
- Вставлен столбец
- #NAME и VLOOKUP
- Аргументы функции. Функция ВПР в Excel
- Искомое_значение.
- Таблица.
- Номер_столбца.
- Интервальный _просмотр.
- Синтаксис функции ВПР
- Ошибки VLOOKUP и # N / A
- Почему не работает функция ВПР
- ВПР без забот
Как вызвать функцию ВПР. Функция ВПР в Excel
В первую очередь разберемся, как вызвать данную функцию. Выбираем закладку Формулы. Находим кнопку Вставить функцию. И нажимаем ее. Так же, можно вызвать функцию ВПР, сочетанием клавиш Shift + F3.
Появляется диалоговое окно Вставка функции. В строке Поиск функции вводим ВПР. Нажимаем найти. По результатам поиска, в пункте Выберите функцию, появляется ВПР. Нажимаем на нее левой кнопкой мыши два раза или нажимаем ОК. Появляется непосредственно диалоговое окно функции ВПР – Аргументы функции.
Теперь перейдем непосредственно к вариантам применения функции ВПР.
Видео
Вставлен столбец
Аргумент col_index_num (номер_столбца) используется функцией ВПР, чтобы указать, какую информацию необходимо извлечь из записи.
В связи с тем, что аргумент введен как числовой индекс, он не очень надёжен. Если в таблицу вставить новый столбец, функция ВПР может перестать работать. Рисунок ниже показывает именно такой сценарий.
Столбец Quantity (Количество) был 3-м по счету, но после добавления нового столбца он стал 4-м. Однако функция ВПР автоматически не обновилась.
#NAME и VLOOKUP
Если ваша ошибка VLOOKUP не является ошибкой #VALUE или ошибкой # N / A, то это, вероятно, #ИМЯ ошибка. Прежде чем паниковать при мысли об этом, будьте уверены — это самая простая ошибка VLOOKUP, которую нужно исправить.
Ошибка #NAME появляется, когда вы ошиблись в функции в Excel, будь то VLOOKUP или другая функция, такая как SUM. Нажмите на ячейку VLOOKUP и проверьте, правильно ли вы написали VLOOKUP.
Если других проблем нет, ваша формула VLOOKUP будет работать после исправления этой ошибки.
Аргументы функции. Функция ВПР в Excel
Искомое_значение
Значение поиска, которое должно быть найдена в указанном нами диапазоне, в строке Таблица. В нашем примере мы указываем Конфеты Ж (ячейка Е3, Таблица №2). Так как это значение идет первое в столбце Название конфет, Таблица №2. (Это не принципиально, но удобно). Это значение, которое будет искать наша функция в Таблице №1.
Что бы выбрать нужную нам ячейку с значением, достаточно просто стать курсором в строку Искомое_значение, а потом клацнуть левой кнопкой мыши, по нужной ячейке в таблице ( В нашем примере ячейка Е3).
Таблица
Здесь необходимо указать диапазон таблицы, в которой будет происходить поиск нужного нам значения и данных, которые мы хотим перенести. В нашем примере это Таблица №1. Значение, по которому будет происходить поиск это название конфет. Данные, которые мы хотим перенести, это цена конфет. Мы просто ставим курсор в строку Таблица и выделяем нужный нам диапазон. В нашем примере это диапазон Таблицы №1 — B1:C12. При этом ссылки нужно сделать абсолютными, добавив знак $. Это можно сделать, просто добавив эти знаки к ячейкам диапазона, в строке Таблица — $B$1:$C$12.
Можно присвоить нашему диапазону имя, и прописать его в строке Таблица.
Как это сделать. Выбираем нужный нам диапазон. Таблица №1. Выбираем закладку Формулы, кнопка Задать имя. Нажимаем. Появляется диалоговое окно Создание имени. Пишем любое имя. Но нужно его запомнить. Например Конфеты. Нажимаем ОК.
В строке Таблица, вместо диапазона нужно будет ввести имя, которое мы присвоили – Конфеты
Номер_столбца
Функция ВПР осуществляет поиск значение в самом левом столбце таблицы указанного диапазона поиска. Функция присваивает этому столбцу номер 1, по умолчанию. В нашем примере самый левый столбце, это Название конфет в Таблице №1. А в строке Номер_столбца, нам нужно указать, какой номер по порядку имеет столбец, из которого нужно перенести данные. В нашем примере это столбце Цена в Таблице №1. Он «второй» по порядку, если считать слева на право, от столбца Название конфет, Таблица №1. Поэтому в строку Номер_столбца мы пишем цифру 2. Если бы столбец Цена, Таблица №1 был бы расположен по порядку не на втором месте, а предположим на десятом, то мы соответственно указывали бы в строке Номер_столбца цифру 10.
Интервальный _просмотр
В этой строке мы пишем цифру ноль «0». Это значит, что функция ВПР будет осуществлять поиск точных совпадений между значениями поиска (Искомое_значение) и значениями в крайнем левом столбце диапазона поиска (Таблица). В нашем примере поиск точных совпадений будет происходить между столбцом Название конфет, Таблица №1, и столбцом Название конфет в Таблице №2.
Если мы поставим цифру один «1», функция будет осуществлять поиск не точного совпадения, а приближенного к нашему критерию поиска.
Вот как это выглядит все вместе.
Нажимаем ОК.
Протягиваем формулу по всему столбцу Цена в Таблице №2. Все цены перенесены с Таблице №1 в Таблицу №2.
Синтаксис функции ВПР
Прежде чем переходить к рассмотрению примера, посмотрим на синтаксис функции ВПР, то есть какие параметры она принимает и для чего они нужны.
ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр])
Смысл этих аргументов следующий:
- Искомое_значениеОбязательный параметр. Это то самое значение, которое должна искать функция в первом(!) столбце таблицы, заданной аргументом 2 (см. ниже). Здесь обычно указывается адрес ячейки, в которой находится нужное нам значение (в примере, рассмотренном ниже, это адрес ячейки в одной из строк колонки «Должность»). Указывать простой текст или числовую константу не имеет смысла, так как функция ВПР используется для обработки больших массивов данных. Если искомое_значение меньше, чем наименьшее значение в первом столбце аргумента таблица, функция ВПР возвращает значение ошибки #Н/Д.
- ТаблицаТоже обязательный параметр. Это та таблица, данные из которой мы собираемся добавить. Таблица указывается как диапазон ячеек (в примере, рассмотренном ниже, это диапазон А10:B12). Обратите внимание, что диапазон ячеек должен быть указан таким образом, чтобы в первом(!) его столбце находились данные, которые мы ищем (в нашем примере это столбец «Должность»). Значения в первом столбце могут быть текстовыми, числовыми или логическими. Текстовые значения в нижнем и верхнем регистре считаются эквивалентными.
- Номер_столбцаУказывать обязательно. Это порядковый номер столбца, данные из которого нужно вернуть функции ВПР в качестве ответа, если в первом столбце второй таблицы будет найдено искомое значение (аргумент 1). Столбцы нумеруются начиная с 1 (единица), так что в нашем примере (см. далее) это столбец 2 («Зарплата»). Итого: если номер_столбца = 1, то возвращается значение из первого столбца таблицы; если номер_столбца = 2 — значение из второго столбца таблицы и т. д.
- интервальный_просмотрВарианты значений: 0 или 1. Если указать 0, то функция будет искать точное совпадение для параметра 1 (искомое значение); если указать 1, то поиск будет производиться приближённо. Чаще всего используется именно 0, поскольку требуется найти именно то, что у нас в аналогичном столбце первой таблицы (в нашем примере это должность сотрудника).
Важно! Параметр 2 (таблица) нужно указывать так, чтобы в диапазон ячеек не попадали заголовки таблицы, если они есть. Нужны только сами данные.
В простом примере ниже эти аргументы рассмотрены на практике.
Ошибки VLOOKUP и # N / A
Одной из самых распространенных ошибок VLOOKUP в Excel является # N / A ошибка. Эта ошибка возникает, когда VLOOKUP не может найти искомое значение.
Начнем с того, что значение поиска может отсутствовать в вашем диапазоне данных, или вы, возможно, использовали неправильное значение. Если вы видите ошибку N / A, дважды проверьте значение в формуле VLOOKUP.
Если значение верное, то вашего поискового значения не существует. Это предполагает, что вы используете VLOOKUP для поиска точных совпадений, с range_lookup аргумент установлен в ЛОЖНЫЙ,
В приведенном выше примере, поиск Студенческий билет с номер 104 (в клетке G4) возвращает Ошибка # N / A потому что минимальный идентификационный номер в диапазоне 105,
Если range_lookup аргумент в конце формулы VLOOKUP отсутствует или установлен в ПРАВДА тогда VLOOKUP вернет ошибку # N / A, если ваш диапазон данных не отсортирован в порядке возрастания.
Он также вернет ошибку # N / A, если ваше значение поиска меньше, чем самое низкое значение в диапазоне.
В приведенном выше примере Студенческий билет значения перепутаны. Несмотря на ценность 105 существующий в ассортименте, VLOOKUP не может выполнить правильный поиск с помощью range_lookup аргумент установлен в ПРАВДА так как колонка А не отсортировано по возрастанию
Другие распространенные причины ошибок # N / A включают использование столбца поиска, который расположен не дальше всего, и использование ссылок на ячейки для значений поиска, которые содержат числа, но отформатированы как текст или содержат лишние символы, такие как пробелы.
Почему не работает функция ВПР
Если Вы не можете получить нужный результат, значит либо во второй таблице (аргумент 2) нет совпадений, либо Вы неверно задаёте параметры ВПР. Вот несколько типичных ошибок при использовании данной формулы на практике:
- Не указали символ доллара в диапазоне (аргумент 2).В этом случае первая формула, введённая вручную, будет верной, а скопированные в другие ячейки — нет, поскольку диапазон поиска смещается в соответствии с правилами Эксель при копировании формул.
- Неверно указан диапазон поиска.Опять же это ошибка в аргументе 2. Диапазон ячеек нужно указывать так, чтобы столбец, в котором ищется совпадение, был первым в выделенном диапазоне. Иначе конечно ничего найдено не будет.
- Неверно указан номер столбца (аргумент 3).Например, можно указать столбец с таким номером, которого нет в выделенном диапазоне. Или номер столбца указан так, что в этом столбце находятся не те данные (напоминаем, что столбцы нумеруются с единицы).
Если у Вас не работает функция ВПР, то значит скорее всего Вы неверно задали её параметры. Это бывает чаще всего, а не «глючит Excel».
Если Вы хотите изучить Excel, воспользуйтесь специализированным учебным видеокурсом по данной программе. С примерами некоторых уроков и учебным планом можно познакомиться по ссылке.
ВПР без забот
Эта статья показывает решения 6 наиболее распространённых причин сбоя в работе функции ВПР. Вооружившись этой информацией, Вы сможете насладиться более беззаботным будущим в компании замечательных функций Excel.
Урок подготовлен для Вас командой сайта Источник: Перевел: