Причины ошибки впр

Этот урок объясняет, как быстро справиться с ситуацией, когда функция ВПР (VLOOKUP) не хочет работать в Excel 2013, 2010, 2007 и 2003, а также, как выявить и исправить распространённые ошибки и преодолеть ограничения ВПР.

В нескольких предыдущих статьях мы изучили различные грани функции ВПР в Excel. Если Вы читали их внимательно, то сейчас должны быть экспертом в этой области. Однако не без причины многие специалисты по Excel считают ВПР одной из наиболее сложных функций. Она имеет кучу ограничений и особенностей, которые становятся источником многих проблем и ошибок.

Функция ВПР не работает

В этой статье Вы найдёте простые объяснения ошибок #N/A (#Н/Д), #NAME? (#ИМЯ?) и #VALUE! (#ЗНАЧ!), появляющихся при работе с функцией ВПР, а также приёмы и способы борьбы с ними. Мы начнём с наиболее частых случаев и наиболее очевидных причин, почему ВПР не работает, поэтому лучше изучать примеры в том порядке, в каком они приведены в статье.

  • Исправляем ошибку #Н/Д
  • Исправляем ошибку #ЗНАЧ! в формулах с ВПР
  • Ошибка #ИМЯ? в ВПР
  • ВПР не работает (проблемы, ограничения и решения)
  • ВПР – работа с функциями ЕСЛИОШИБКА и ЕОШИБКА

Содержание

  1. Исправляем ошибку #Н/Д функции ВПР в Excel
  2. 1. Искомое значение написано с опечаткой
  3. 2. Ошибка #Н/Д при поиске приближённого совпадения с ВПР
  4. 3. Ошибка #Н/Д при поиске точного совпадения с ВПР
  5. 4. Столбец поиска не является крайним левым
  6. 5. Числа форматированы как текст
  7. 6. В начале или в конце стоит пробел
  8. Ошибка #ЗНАЧ! в формулах с ВПР
  9. 1. Искомое значение длиннее 255 символов
  10. 2. Не указан полный путь к рабочей книге для поиска
  11. 3. Аргумент Номер_столбца меньше 1
  12. Ошибка #ИМЯ? в ВПР
  13. ВПР не работает (ограничения, оговорки и решения)
  14. 1. ВПР не чувствительна к регистру
  15. 2. ВПР возвращает первое найденное значение
  16. 3. В таблицу был добавлен или удалён столбец
  17. 4. Ссылки на ячейки исказились при копировании формулы
  18. ВПР – работа с функциями ЕСЛИОШИБКА и ЕОШИБКА
  19. ВПР: работа с функцией ЕСЛИОШИБКА
  20. ВПР: работа с функцией ЕОШИБКА

Исправляем ошибку #Н/Д функции ВПР в 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;ЛОЖЬ))

На сегодня всё. Надеюсь, этот короткий учебник поможет Вам справиться со всеми возможными ошибками ВПР и заставит Ваши формулы работать правильно.

Оцените качество статьи. Нам важно ваше мнение:

В этом разделе описаны наиболее распространенные причины получения ошибочных результатов при использовании функции ВПР. Предоставляются рекомендации по использованию функций ИНДЕКС и ПОИСКПОЗ вместо нее.

Совет: Кроме того, ознакомьтесь с материалом Краткая справочная карточка: советы по устранению неполадок функции ВПР. На ней указаны основные причины получения результата #Н/Д. Сведения приводятся в удобном формате PDF. Файл в формате PDF можно распечатать или предоставить другим пользователям.

Проблема: искомое значение не находится в первом столбце аргумента таблица

Одно из ограничений функции ВПР состоит в том, что она можно искать значения только в крайнем левом столбце таблицы. Если искомое значение находится не в первом столбце массива, появится ошибка #НД.

В следующей таблице нам нужно узнать количество проданной капусты.

Ошибка #Н/Д в функции ВПР: искомое значение не находится в первом столбце массива таблицы

Ошибка #Н/Д #N/A возникает, поскольку значение поиска «Капуста» находится во втором столбце (Продукты) аргумента таблица A2:C10. В этом случае Excel ищет значение в столбце A, а не в столбце B.

Решение. Чтобы исправить ошибку, измените ссылку ВПР так, чтобы она указывала на правильный столбец. Если это невозможно, попробуйте переместить столбцы. Это тоже может быть весьма неудобно при использовании больших или сложных таблиц, где значения в ячейках получены в результате других вычислений (или невозможно перемещать столбцы по другим причинам). В таком случае можно использовать сочетание функций ИНДЕКС и ПОИСКПОЗ, которые позволяют находить значения в любом столбце вне зависимости от его позиции в таблице подстановки. (см. следующий раздел).

Попробуйте использовать функции ИНДЕКС и ПОИСКПОЗ

Функции ИНДЕКС и ПОИСКПОЗ можно эффективно применять во многих случаях, когда функция ВПР не позволяет получить нужные результаты. Основное их преимущество заключается в том, что значения можно искать в столбце таблицы в любой позиции в таблице подстановки. Функция ИНДЕКС возвращает значение из указанной таблицы или диапазона в соответствии с его позицией. Функция ПОИСКПОЗ возвращает относительную позицию значения в диапазоне или таблице. Используя функции ИНДЕКС и ПОИСКПОЗ вместе, можно находить значение в таблице или в массиве, указав относительную позицию значения.

Существует несколько преимуществ использования функций ИНДЕКС и ПОИСКПОЗ вместо ВПР.

  • При использовании функций ИНДЕКС и ПОИСКПОЗ возвращаемое значение не обязательно должно находиться в том же столбце, что и столбец подстановки. При использовании функции ВПР возвращаемое значение, напротив, должно быть в указанном диапазоне. Почему это важно? При использовании функции ВПР вам нужно знать номер столбца, содержащего значение. Это может показаться не слишком сложным, но это всерьез затрудняет работу, если используется большая таблица, в которой нужно подсчитать количество столбцов. Кроме того, если добавить или удалить столбец. придется пересчитать столбцы и изменить значение аргумента номер_столбца. При использовании функций ИНДЕКС и ПОИСКПОЗ не нужно подсчитывать столбцы.

  • При использовании функций ИНДЕКС и ПОИСКПОЗ можно указать строку или столбец (или и строку, и столбец) в массиве. Это означает, что значения можно искать по вертикали и по горизонтали.

  • С помощью функций ИНДЕКС и ПОИСКПОЗ можно находить значения в любом столбце. В отличие от функции ВПР, которая находит только значения в первом столбце таблицы, функции ИНДЕКС и ПОИСКПОЗ будут работать вне зависимости от того, в каком столбце находится значение.

  • Это позволяет использовать динамические ссылки на столбец, содержащий возвращаемое значение.Таким образом, эти функции будут работать, даже если вы добавлять столбцы в таблицу. С другой стороны, ВПР не сможет найти значение, если добавить столбец в таблицу, поскольку эта функция использует статическую ссылку на таблицу.

  • Функции ИНДЕКС и ПОИСКПОЗ обеспечивают более гибкие возможности поиска.Они могут находить точное совпадение, а также значение больше или меньше искомого. ВПР ищет только наиболее близкое (по умолчанию) или точное значение. Кроме того, функция ВПР предполагает, что первый столбец в таблице отсортирован в алфавитном порядке, и возвращает первое наиболее близкое совпадение, поэтому вы можете получить не те данные, которые ожидали.

Синтаксис

Чтобы создать синтаксис для функций ИНДЕКС или ПОИСКПОЗ, необходимо вложить синтаксис функции ПОИСКПОЗ в аргумент массива или ссылки функции ИНДЕКС. Это выглядит следующим образом:

=ИНДЕКС(массив или ссылка; ПОИСКПОЗ(искомое_значение;массив;[тип_совпадения])

Заменим функцию ВПР в приведенном выше примере функциями ИНДЕКС и ПОИСКПОЗ. Синтаксис будет выглядеть следующим образом:

=ИНДЕКС(C2:C10;ПОИСКПОЗ(B13;B2:B10;0))

Что означает:

=ИНДЕКС(возвратить значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Функции ИНДЕКС и ПОИСКПОЗ можно использовать вместо функции ВПР

Формула ищет в C2:C10 первое значение, соответствующее значению Капуста (B7), и возвращает значение в ячейке C7 (100).

Проблема: не найдено точное совпадение

Если для аргумента диапазон_поиска задано значение ЛОЖЬ, а функции ВПР не удается найти точное совпадение, возвращается ошибка #Н/Д.

Решение. Если вы уверены, что необходимые данные действительно есть в таблице, но функции ВПР не удается их найти, убедитесь, что в ячейках нет скрытых пробелов или непечатаемых символов. Кроме того, убедитесь, в ячейках выбран правильный тип данных. Например, для ячеек с числами необходимо выбрать формат Числовой, а не Текстовый.

Также можно использовать функции ПЕЧСИМВ или СЖПРОБЕЛЫ для очистки данных в ячейках.

Проблема: искомое значение меньше, чем наименьшее значение в массиве

Если для аргумента диапазон_поиска задано значение ИСТИНА, а искомое значение меньше наименьшего значения в массиве, возвращается ошибка #Н/Д. Функция ищет приблизительное совпадение в массиве и возвращает ближайшее значение, которое меньше искомого.

В приведенном ниже примере искомое значение равно 100, но в диапазоне B2:C10 нет значений меньше 100, поэтому возникает ошибка.

Ошибка #Н/Д в функции ВПР, если искомое значение меньше, чем наименьшее значение в массиве

Решение.

  • Исправьте искомое значение.

  • Если невозможно изменить искомое значение, а при подстановке значений требуется более высокая гибкость, попробуйте использовать функции ИНДЕКС и ПОИСКПОЗ вместо ВПР — см. раздел выше в этой статье. Они позволяют находить значения больше или меньше искомого, а также равные ему. Дополнительные сведения см. в предыдущем разделе этой статьи.

Проблема: столбец подстановки не отсортирован в порядке возрастания

Если для аргумента диапазон_поиска задано значение ИСТИНА, но один из столбцов не отсортирован по возрастанию (от А до Я), возвращается ошибка #Н/Д.

Решение.

  • Измените функцию ВПР так, чтобы искать точное совпадение. Для этого укажите для аргумента диапазон_поиска значение ЛОЖЬ. Для значения ЛОЖЬ сортировка не требуется.

  • Для поиска значения в несортированной таблице можно также использовать функции ИНДЕКС и ПОИСКПОЗ.

Проблема: значение является большим числом с плавающей запятой

При наличии в ячейках значений времени или больших десятичных чисел Excel возвращает ошибку «#Н/Д» из-за точности чисел с плавающей запятой. Числа с плавающей запятой включают цифры после десятичной запятой. (Значения времени хранятся в Excel в виде чисел с плавающей запятой.) Excel не может хранить крупные числа с плавающей запятой, поэтому для правильной работы функции такие числа нужно округлять до 5 десятичных разрядов.

Решение. Округлите числа до 5 десятичных разрядов с помощью функции ОКРУГЛ.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

  • Исправление ошибки #Н/Д

  • ВПР: как избавиться от ошибок #Н/Д

  • Арифметические операции со значениями с плавающей запятой могут выдавать неточные результаты в Excel

  • Краткий справочник: функция ВПР

  • Функция ВПР

  • Полные сведения о формулах в Excel

  • Рекомендации, позволяющие избежать появления неработающих формул

  • Поиск ошибок в формулах

  • Все функции Excel (по алфавиту)

  • Функции Excel (по категориям)

Не работает ВПР в Excel н д? Причина в том, что формула не может найти необходимое значение, к примеру, из-за отсутствия искомого параметра в файле. Убедитесь, что такой показатель имеется в первоначальных данных, проверьте тип значений, удалите лишние пробелы, используйте способы точного / ориентировочного совпадения, задействуйте правильные аргументы и т. д. Ниже рассмотрим, в чем могут быть причины, и как действовать для восстановления работоспособности Эксель.

Причины и пути решения в Excel

Существует много причин, почему не работает ВПР в Excel и появляется надпись Н / Д. В каждой из ситуаций необходимо индивидуально подходить к решению вопроса с учетом возникшей неисправности.

Наиболее эффективный метод

В ситуации, когда не работает функция ВПР в Excel, проверьте наличие элемента на листе или задействуйте в формуле функцию обработки ошибок, к примеру, =ЕСЛИОШИБКА(ФОРМУЛА();0). В таком случае при появлении сбоев в расчете показывается ноль, а в ином случае — результат формулы. Можно дополнить запись “”, чтобы ничего не показывалось, или внести в скобки какую-либо запись.

Ошибка в типе параметров

Характерная причина, почему не работает ВПР в Excel — нахождение исходных / искомых данных к различным типам. К примеру, если вы используете ВПР в виде числа, а исходные данные сохраняются в качестве текста. Для решения вопроса убедитесь, что типы информации идентично. Для проверки формата сделайте следующее:

  • Выберите ячейку (одну или несколько).
  • Жмите правой кнопкой мышки.
  • Выберите формат ячеек, а дальше Число.

  • Измените формат.

Для принудительного внесения изменений нужно изменить формат для всего столбца. Для начала примените требуемое форматирование, а после выберите «Данные», «Текст по столбцам» и «Готово». После этого проверьте, появляется Н Д или нет.

Лишние пробелы

Распространенная причина, почему не работает формула ВПР в Excel, состоит в наличии пробелов. Для их удаления используйте функцию СЖПРОБЕЛЫ.

Ошибки метода поиска совпадения

Следующее объяснение, почему не срабатывает ВПР в Excel  и возвращается Н Д — ошибки в применении метода совпадения. По умолчанию у опции ВПР имеется аргумент «интервальный просмотр», который дает команду на поиск точного совпадения даже при отсутствии сортировки данных в таблице.

Для поиска точного совпадения введите для аргумента «интервальный_просмотр» показатель ЛОЖЬ.

При этом учтите, что ИСТИНА, которое дает возможность поиска приблизительного параметра, может вернуть ошибку Н / Д. При использовании опции ПОИСКПОЗ попробуйте поменять параметр аргумента «тип_сопоставления» для указания порядке сортировки таблицы.

Не соответствие числа строк / столбцов заданному диапазону

В ситуации, когда не работает ВПР в Excel и вылетает ошибка Н / Д, сделайте дополнительную проверку. Вам нужно убедиться, что диапазон, в отношении которого ссылается формула, правильный. Как вариант, можно ввести формулу массива в меньшее / большее количество ячеек с учетом ссылки на диапазон.

В ячейке введена надпись Н / Д или Н Д

В Эксель ВПР часто не работает, если пользователь вручную ввел в ячейку параметр #Н / Д или НД (). Для решения проблем его нужно поменять на фактические данные, как только они будут доступны. До этого момента формулы, в которых содержатся ссылки на эти ячейки, не смогут вычислить этот параметр. При этом будет возвращаться ошибка Н Д.

Другие ошибки

Дополнительно стоит выделить и ряд других ситуаций, когда ВПР в Excel по какой-то причине не работает:

  1. В используемой формуле нет одного или более аргументов. Для исправления проблемы введите все необходимые документы и проверьте, работает опция или нет. Для контроля можно использовать Visual Basic.
  2. Пользовательская опция недоступна. Для исправления проблемы убедитесь, что документ Excel с пользовательской функцией открыт, а опция работает корректно.
  3. Макрос имеет функцию, которая возвращает Н Д. Если ВПР не работает по этой причине, для исправления ошибки убедитесь в правдивости аргументов и их нахождении в нужных местах.
  4. Изменение защищенного файл с опцией ЯЧЕЙКА. Для исправления ситуации, когда ВПР в Excel не работает, жмите на комбинацию Ctrl+Alt+F9.
  5. Столбец не является первым слева дли поискового диапазона. Для решения проблемы нужно ввести соответствующий параметр и проверить, появляется ли Н Д. Как вариант, можно использовать функции ИНДЕКС и ПОИСКПОК в качестве гибкой альтернативы для ВПР.
  6. Неправильное форматирование числа. Бывают ситуации, когда цифры указаны в текстовом формате. Это часто происходит при импортировании сведений из внешней базы данных или при вводе апострофа перед числом для сохранения нуля в начале. Для решения проблемы жмите по ошибке и укажите Convert to Number. При появлении Н Д для многих чисел выделите их и жмите правой кнопкой мышки, а после выберите Format Cells и вкладку Число и Числовой.

Выше рассмотренные основные причины, почему не работает ВПР в Excel, а также описаны базовые шаги для устранения ошибки Н Д. Всегда начинайте с проверки правильности ввода параметра, а после переходите к другим вариантам.

Что за функция

В завершение кратко рассмотрим, что это за опция ВПР в Excel, и как она работает. Простыми словами, это опция, позволяющая переставлять данные из одной таблицы в соответствующие параметры другой. Английское название опции звучит как VLOOKUP. Это очень полезная опция, позволяющая сэкономить время и одновременно обработать большое количество параметров.

К примеру, в вас есть две таблицы. Первая — цены и названиями, вторая — заказ на покупку продукции. Осуществлять поиск в первом документе и пытаться вписать цену в заказ трудно. Необходимо, чтобы работа проходила автоматически. Для этого достаточно найти нужное значение в 1-м столбце и вернуть его содержимое из столбца той же строки, где находится название.

В комментариях расскажите, приходилось ли вам пользовался опцией ВПР, и случалась ли ситуация, когда она не работает в Excel, и появляется ошибка Н Д. Отдельно поделитесь, какие варианты решения вопроса можно использовать.

Отличного Вам дня!

Skip to content

Почему не работает ВПР в Excel?

Функция ВПР – это очень мощный инструмент поиска. Но если он по каким-то причинам завершился неудачно, то вы получите сообщение об ошибке #Н/Д (#N/A в английском варианте).

Давайте постараемся вместе ответим на вопрос: «Почему функция ВПР не работает?»

В первую очередь, сообщение об ошибке вы увидите, если данные, которое вы ищете, действительно отсутствуют в указанном диапазоне поиска. Здесь мы бессильны.

Все остальные случаи связаны с тем, что мы что-то не учли или сделали неверно.

Итак, почему ВПР не находит значение, хотя оно есть?

  1. Неточность при вводе данных.
  2. Опечатка при вводе функции.
  3. Неверные ссылки.
  4. Неверно указан параметр «интервальный просмотр».
  5. Столбец поиска не является первым слева столбцом диапазона поиска.
  6. Несовпадение форматов данных.
    • Преобразуем число в текст.
    • Преобразуем текст в число.
    • Если числовой и текстовый форматы беспорядочно перемешаны?
  7. Лишние пробелы и непечатаемые знаки.
  8. Неправильно указан номер столбца.
  9. Неверная ссылка на данные из другой таблицы
  10. После изменения таблицы функция ВПР перестала работать
  11. Как убрать сообщение #Н/Д в ВПР?

Неточность при вводе данных.

В этом случае ничего найти не получится, и ВПР возвратит ошибку #Н/Д. Самое простое решение здесь очень часто оказывается самым верным. Быть может, вы просто ошиблись при вводе критерия поиска.

Это вполне может случиться, особенно если вы записываете его прямо в формулу.

Опечатка при вводе функции.

Если вы видите ошибку #ИМЯ?, то это означает, что при записи названия самой функции вы допустили неточность – перепутали или добавили лишнюю букву.

Проверьте синтаксис, и всё будет в порядке.

Неверные ссылки.

Проверьте, верно ли вы указали диапазон поиска, а также координаты значения, которое мы будем искать.

Случается, что в формуле вы указали обычные (относительные) ссылки, забыв заменить их на абсолютные ($), а затем произвели какие-то действия с таблицей. К примеру, добавили столбец. Ваши ссылки в формуле теперь будут указывать на неверные координаты.

Важно! При таком изменении ссылок вы можете и не знать, что найдено не то, что нужно. Ведь какое-то значение все же возвращено, хоть и неверное. Поэтому будьте внимательны в использовании относительных и абсолютных ссылок! Рекомендуем по этой причине стараться использовать «умные» таблицы или именованные диапазоны.

Неверно указан параметр «интервальный просмотр».

Включен поиск до первого приблизительного совпадения в отсортированном диапазоне (параметр = ИСТИНА или вовсе опущен), но на самом деле данные не отсортированы.

Об этой проблеме мы подробно говорили ранее.

Столбец поиска не является первым слева столбцом диапазона поиска.

Часто забывают о том, что ВПР ищет совпадающие данные только в первом слева столбце диапазона, который вы указали.

Если ваши просматриваемые данные находятся не в первом, а во втором или другом столбце, то она не сможет найти ни одного совпадения, и вы вновь увидите сообщение #Н/Д.

Это важное ограничение нельзя забывать.

Несовпадение форматов данных.

Формат ячейки, откуда берется искомое значение наименования (например D3 в нашем случае), и формат ячеек первого столбца (A3:A21) из диапазона поиска отличаются (например, числовой и текстовый). Этот случай особенно часто встречается при использовании вместо текстовых наименований числовых кодов (номера счетов, артикулы, идентификаторы, даты и т.п.). Ведь число, записанное в таблицу Excel, может быть в двух принципиально разных состояниях — как число и как текст. И визуально их отличить практически невозможно.

Преобразуем число в текст.

Как видите, с виду записи одинаковы, однако в D6 артикул сохранен как число, а в A10 – как текст (на таких ячейках обычно видна пометка — зелёный уголок). Текст не может быть равнозначен числу, поэтому получаем #Н/Д. ВПР не находит значение, хотя оно с виду есть.

Как решить эту проблему со случайным несоответствием в формате записи? Можно использовать функцию ТЕКСТ, которая преобразует любой тип данных в текстовый вид.

Используем формулу

=ВПР(ТЕКСТ(D6;»#»);$A$3:$B$21;2;ЛОЖЬ)

Как видно, обычную ссылку на D6 мы заменяем конструкцией

TEXT(D6,»#»)

Первый аргумент – это адрес, а второй аргумент означает формат, в который мы будем преобразовывать значение (в нашем случае – текстовый).

преобразуем данные

Можно поступить и проще — «приклеить» к числу пустую строку при помощи оператора склейки &.

=ВПР(D6&»»;$A$3:$B$21;2;ЛОЖЬ)

Запомните простое правило:

Если какую-либо текстовую операцию мы пытаемся провести над ячейкой, в которой записано число, то Excel обязательно попытается превратить это число в текст.

Если несовпадение форматов встречается редко, то можно просто исправить формат записи данных. Измените формат ячейки на текстовый и пересохраните ее содержание (F2 и затем ENTER). Содержимое будет преобразовано в текст.

Как видите, ошибка исчезла, поскольку теперь текстовое значение сравнивается с таким же текстом.

Преобразуем текст в число.

А если нужно сделать обратное преобразование? Преобразовать число как текст в обычное число, чтобы все данные в таблице были одного типа? Давайте рассмотрим на примере.

двойное отрицание для преобразования текста в число в Excel

Добавьте перед проблемным значением двойной минус. Это означает — дважды умножить на минус 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 на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Функция ЕСЛИОШИБКА – примеры формул В статье описано, как использовать функцию ЕСЛИОШИБКА в Excel для обнаружения ошибок и замены их пустой ячейкой, другим значением или определённым сообщением. Покажем примеры, как использовать функцию ЕСЛИОШИБКА с функциями визуального…
Как объединить две или несколько таблиц в Excel В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах. Как часто при анализе в Excel вся необходимая информация собирается на одном…
Вычисление номера столбца для извлечения данных в ВПР Задача: Наиболее простым способом научиться указывать тот столбец, из которого функция ВПР будет извлекать данные. При этом мы не будем изменять саму формулу, поскольку это может привести в случайным ошибкам.…
4 способа, как сделать левый ВПР в Excel. Функция ВПР – одна из самых популярных, когда нужно найти и извлечь из таблицы какие-либо данные. Но при этом она имеет один существенный недостаток. Поиск она производит в крайнем левом…
ВПР с несколькими условиями: 5 примеров. Очень часто наши требования к поиску данных не ограничиваются одним условием. К примеру, нам нужна выручка по магазину за определенный месяц, количество конкретного товара, проданного определенному покупателю и т.д. Обычными…

  • Как работает ВПР. Для чайников
    • Синтаксис функции ВПР
    • Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА
    • Тайна четвертого параметра ВПР
  • Как сделать ВПР — понятная пошаговая инструкция
  • ВПР по вхождению подстроки
  • Не работает ВПР — ошибки и причины
    • ВПР выдает ошибку #Н/Д
    • ВПР не подтягивает значение, хотя искомое в таблице есть

Функцией ВПР (по-английски VLOOKUP) пользоваться довольно просто. Есть десятки примеров и даже пошаговых инструкций. Однако, новичкам в Excel непросто даётся понимание того, как работают формулы с функцией ВПР.

В этой статье я попробую максимально понятно описать, как работает ВПР простыми словами и научить вас её использовать.

Как работает ВПР. Для чайников

Расшифровка названия функции уже дает половину ответа на вопрос “Как работает ВПР?”. Ведь она расшифровывается как Вертикальный ПРосмотр. Потому что находит искомое, просматривая данные в таблице вертикально.

Синтаксис функции ВПР

расшифровка синтаксиса ВПР
Расшифровка синтаксиса ВПР

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

Когда я думаю о функции, я вспоминаю знакомую всем телепередачу “Что? Где? Когда?”.

Первые два аргумента — как раз “Что?” и “Где?”, и идут именно в этом порядке. Первый аргумент – искомое значение, иначе говоря, что мы ищем. Второй аргумент — диапазон, таблица, простыми словами — где мы ищем. Третий аргумент числовой, и обозначает, когда мы должны остановиться, считая столбцы в таблице слева направо от найденного в первом столбце таблицы значения.

А четвертый аргумент (“интервальный просмотр”) вроде бы даже не обязательный, но на поверку очень важен. Ведь от его значения зависит, как будет работать функция. Жаль, вопроса “Как?” в телепередаче не было. :)

Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА

Скажу заранее. Если нужно просто найти искомое значение и вернуть то, что напротив — используйте в этом параметре 0 (или ЛОЖЬ, но 0 напечатать проще) и не читайте дальше.


Если же хотите узнать главный секрет функции ВПР, то дальше информация для вас.

Тот, кто перевел последний параметр range lookup с английского как “интервальный просмотр”, испортил жизнь многим новичкам в Excel.

Потому что там нет ничего интервального, все вполне себе сплошное. А корректно перевести параметр следовало бы “способ просмотра диапазона“.

Также справочный текст говорит следующее:

описание четвертого параметра ВПР

“Приблизительное” и “точное” совпадение в описании четвертого параметра ВПР
  • ЛОЖЬ или 0 обозначает точное совпадение;
  • ИСТИНА, 1 или эквивалентный им пропуск параметра (т.к. это значение по умолчанию) обозначает приблизительное совпадение

И вот с этим приблизительным совпадением сразу возникает ряд вопросов. Что значит приблизительное? Насколько? Каким алгоритмом считается “приблизительность”? Зачем сортировать? И почему по возрастанию?

Тайна четвертого параметра ВПР

Корректно и глубоко тема разницы алгоритмов поиска ВПР и ПОИСКПОЗ в рунете практически не раскрыта. Между тем, примечательный факт в том, что:

  • Когда четвертый параметр ЛОЖЬ или 0 — используется линейный поиск;
  • Когда он ИСТИНА, 1 или не указан явно, но используется по умолчанию — используется бинарный поиск.

В чем разница?

Линейный поиск — это когда Excel находит искомое значение, пробегая сверху вниз по одной строке. Это совершенно не оптимально, и именно поэтому с большими таблицами ВПР работает очень медленно!

Бинарный же поиск в Excel позволяет находить данные практически мгновенно, так как выполняет четыре основных шага:

  1. Длина диапазона данных делится пополам и позиция чтения перемещается в середину.
  2. Найденное значение (пусть n) сравнивается с тем, которое мы ищем (пусть m).
  3. Если m > n, то берется вторая часть массива, если m < n — первая часть.
  4. Далее шаги 1-3 повторяются на выбранной части диапазона.

Простыми словами, это похоже на поиск по словарю. Открываем его посередине, смотрим, в какой половине нужное нам значение. В первой? Тогда открываем первую часть посередине, и так продолжаем делить напополам, пока не находим искомое.

В сравнении с линейным поиском, на целиком заполненном столбце Excel (1048576 строк, или 2 в 20 степени) бинарный будет в ~52.000 раз быстрее! (1048576 поделить на 20).

Но есть несколько моментов, которые нужно знать для работы с ВПР в этом режиме:

  1. Данные должны быть сортированы по возрастанию (как и полагается любому словарю).
  2. Если искомое не найдено, возвращается значение той строки, что предшествовала бы искомой, если бы она была в диапазоне.
  3. Если вы уверены, что все искомые значения в диапазоне присутствуют, достаточно будет только сортировки
  4. Если искомое может отсутствовать, а вы не хотите возвращать значение другой строки, формулу можно немного усложнить.
=ЕСЛИ(ВПР(искомое;диапазон;1;1)<>искомое;"";ВПР(искомое;диапазон;n;1))

Так будет выглядеть формула, которая будет возвращать пустоту, если искомое не найдено, при этом будет оставаться столь же быстрой (практически мгновенной даже при работе с сотнями тысяч строк!).

Важный момент – в Excel 2019 и выше даже при использовании параметра 0 используется оптимальный быстрый алгоритм, поэтому большого прироста скорости в последних версиях такая формула не даст (зато даст в Excel 2016 и всех версий что раньше). Вероятнее всего, в Microsoft решили, что пришло время упростить жизнь пользователям, которые не хотят во всём этом разбираться :)

Как сделать ВПР — понятная пошаговая инструкция

Как сделать правильно формулу ВПР, чтобы найти несколько значений одной таблицы в другой и найти совпадения, или для совпадающих данных вернуть данные напротив?

Ниже пошаговая инструкция по использованию функции ВПР с полезными лайфхаками и картинками. Итак:

Если читали выше, я упоминал, как просто запомнить синтаксис функции ВПР. 3 вопроса в указанном порядке. Что? Где? Когда? И потом уже “Как?”

  1. Что?

    Что будет искать формула? Как правило, здесь указывается адрес ячейки, в которой находится искомое значение.

  2. Где?

    Где будет искать формула значение из первого шага? Обычно тут указывается диапазон ячеек, состоящий из нескольких столбцов. Лайфхак: выделяйте столбцы целиком (например, B:D), а не диапазон ($B$2:$D$250). Это быстрее и не требует закреплять диапазоны (а закреплять их нужно, иначе при протягивании формулы вниз адрес будет меняться). Выделить столбцы можно, проведя по буквам столбцов левой кнопкой мыши (как показывает стрелка на скриншоте).

  3. Когда?

    Когда остановиться, считая слева направо для выбора возвращаемого формулой значения? В данном случае нам нужна сумма, а это второй столбец таблицы.

  4. Как?

    Как искать? О разнице способов поиска ВПР читайте выше: Интервальный просмотр – 0 или 1, ЛОЖЬ или ИСТИНА? Обычно выбирается линейный поиск, так что тут вводим “0”.

И на всякий случай, пройдем все шаги подряд и посмотрим, как это выглядит на практике.

пошаговая инструкция по вводу формулы с функцией ВПР

Ввод формулы с функцией ВПР – пошаговая простейшая инструкция.

ВПР по вхождению подстроки

Помимо поиска по точному совпадению, ВПР умеет искать данные и с неточным совпадением, т.к. поддерживает подстановочные символы (? и *). Важно, что их учёт возможен только в режиме линейного поиска (четвертый параметр 0 или ЛОЖЬ). Ниже пример с использованием знака вопроса, обозначающего один любой символ:

ВПР с неточным совпадением
Использование ВПР с подстановочными символами для поиска по неточному совпадению

Не работает ВПР — ошибки и причины

Функция ВПР иногда ведет себя непредсказуемо, например, не подтягивает значения, возвращает ошибки там, где не должна, или возвращает неожиданные значения. Рассмотрим, почему ВПР не срабатывает так, как должен.

ВПР выдает ошибку #Н/Д

Формулы с ВПР выдают ошибку “#Н/Д”, когда функция не находит искомое значение в указанной таблице. Следует понимать, что поиск производится исключительно по первому столбцу, а также — что если не закрепить выбранный диапазон поиска, при протягивании формулы будет смещаться и он, что в 99% случаев будет приводить к ошибкам.

Хотите избавиться от ошибки, когда искомое не найдено? Почитайте, как сделать это с помощью функции ЕСЛИОШИБКА в соответствующей статье. А я лишь приведу формулы оттуда:

=ЕСЛИОШИБКА(ВПР(ячейка-или-значение;диапазон;номер-столбца;0);"ошибка")
=ЕСЛИОШИБКА(ВПР(ячейка-или-значение;диапазон;номер-столбца;0);"")

ВПР не подтягивает значение, хотя искомое в таблице есть

Иногда такое бывает — вы видите, что в таблице есть данные, которые вы ищете, но ВПР будто не срабатывает. Не находит данные. Абсолютно всегда проблема не в ВПР, а в самих данных, и они действительно не совпадают. Самые распространенные проблемы, когда визуально в ячейках одинаковы, но на поверку — нет:

  • В таблице искомых значений или в диапазоне поиска присутствуют лишние пробелы, которые нужно удалить.
  • Вместо обычных пробелов в ячейках используются неразрывные пробелы, визуально между ними нет никакой разницы, но программа её видит.
  • В данных присутствуют переносы строк, символы табуляции, возврат каретки и другие виды “невидимых” символов
  • Вместо кириллицы используется латиница или наоборот, для букв с идентичным написанием (для компьютера русская А и английская A – разные символы!). Тогда нужно заменить кириллицу на похожую латиницу (или наоборот).

Рекомендация в таких случаях следующая. Попробуйте сравнить ячейки, которые видите как одинаковые, отдельно (Например, скопируйте их в ячейки A1 и A2 на другой лист). Сначала сравните целиком (=A1=A2, должно вернуть “ИСТИНА”), если конструкция возвращает “ЛОЖЬ”, сравните их уже посимвольно (первый символ с первым, второй со вторым и т.д.), здесь вам поможет функция ПСТР.

Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

Перейти к содержимому

В данной статье расскажу о двух ошибках которые может выдать функция ВПР() :

  • Ошибка #Н/Д;
  • Ошибка #ЗНАЧ.

Знач и ндПеречисленные выше ошибки наиболее часто встречаться при использовании функции ВПР() и очень часто вызывают трудности с устранением  у начинающих пользователей Excel .

Когда возникает ошибка #Н/Д и как от нее избавиться при использовании ВПР().

Сообщение об ошибке Н/Д можно расшифровать как аббревиатуру (НД) – нет данных, то есть функции ВПР() нечего отобразить, и она как бы сообщает: «нет данных для отображения».

Почему возникает ошибка Н/Д (НД)?

  1. Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения нет искомого функцией ВПР() значения.
  2. Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения значения ячеек имеют ошибки. Иногда ошибки нельзя увидеть «не вооружённым глазом», например, если в ячейке добавлен лишний пробел или едва заметная точка. ВПР() воспринимает значение ячейки без пробела и с пробелом как совершенно разные данные и выдает ошибку «Н/Д».
  3. Ошибка может возникать потому, что в искомой ячейке уже стоит значение «Н/Д», то есть ВПР() подтягивает эту ошибку из другой ячейки (искомой).

Как исправить ошибки Н/Д?

  1. Первый способ – применить обработку ошибок – функцию ЕСЛИОШИБКА(ВПР(*;*;*;0);”Здесь была ошибка”). Эта функция заменяет сообщение об ошибке на любое значение, которое Вы укажете.Здесь была ошибка
  2. Способ №2 – удалить все пробелы и, по возможности, знаки препинания из ячеек. Для этого нужно нажатием клавиш ctrl+H вызвать окно замены значений, потом в поле «Найти» ввести пробел или знак препинания, а в поле «Заменить на:» не вводить ничего и нажить кнопку «Заменить все».Заменить на
  3. Способ №3 – поставить в функции ВПР() допуск ошибки. Как нам извесчтно 4 –й аргумент функции это число ошибок которые может допускать в сравниваемой строке функция ВПР(). То есть, если поставить число «1», то допускается 1 ошибка при сравнении [ВПР(*;*;*;1)]. В таком случае строка без пробела и с одним пробелом будут считаться идентичными. Но в таком способе есть подвох — очень высока вероятность неверных результатов, например, слово «полка» и «палка» имеют отличие всего в один знак и будут восприняты функцией, как одно и то же.Допустимое количество ошибок

Когда возникает ошибка #ЗНАЧ и как от нее избавиться при использовании ВПР().

Ошибка #ЗНАЧ может выводиться функцией ВПР(), если введенные значения аргументов функции  некорректны и функция не может их обработать.

Казалось бы какие значения могут быть некорректными, если ВПР() необходимо просто сравнить одно значение с другим и присвоить ячейке данные из совпавших ячеек, но эта ошибка возникает.

Появляется ошибка #ЗНАЧ в функции ВПР() тогда, когда длина строки сравниваемой функцией слишком большая и не может быть обработана.  Например, в Excel 2010 максимальная длина строки обрабатываемой функцией всего 255 символов, и если Вы будете сравнивать строки длиной 256 и более символов, то получите ошибку #ЗНАЧ.

Исправить ошибку #ЗНАЧ в таком случае можно уменьшив длины сравниваемых строк.

Еще ошибка #ЗНАЧ может возникнуть если Вы пропустили(не указали) один из аргументов в функции.не хватает аргумента

Функция ВПР самая популярная и часто используемая функция. Знание данной функции очень поможет вам в вашей работе. Описание работы функции ВПР с примером вы можете посмотреть в специальной статье, а в данном уроке мы рассмотрим примеры, когда функция ВПР не работает или выдает ошибки.

Если вы научились использовать функцию, но у вас возникает ошибка, то в этой статье мы рассмотрим возможные ошибки и пути их решения.

Содержание

  • 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-м столбце, но формуле это автоматически не поменяется, мы должны помнить об этом и менять информацию.

Для решения этой проблемы можно использовать функцию ПОИСКПОЗ для поиска номера столбца. В качестве искомого значения мы можем указать текст «Цена» и искать в строке — шапке таблице Прайс лист. Теперь если добавлять столбцы в таблицу Прайс лист, то функция ПОИСКПОЗ все равно найдет ячейку со словом «Цена» и вернет на номер позиции данной ячейки.

  • Partition Wizard

  • Partition Manager

  • How to Fix Excel VLOOKUP Not Working [4 Cases]

How to Fix Excel VLOOKUP Not Working [4 Cases] [Partition Manager]

By Linda | Follow |
Last Updated December 16, 2021

When you use the VLOOKUP function in Excel, you may encounter the VLOOKUP not working issue? Why does this issue happen? How to solve this issue? This post from MiniTool Partition Wizard shows you all.

VLOOKUP function is an important feature in Excel. According to Microsoft, if you need to find things in a table or a range by row, use VLOOKUP. For financial staff, this VLOOKUP may be one of the features that they will use frequently.

With this feature, they can easily look up a price of an automotive part by the part number, or find an employee name based on their employee ID. The VLOOKUP formula is as follows:

=VLOOKUP(What you want to look up, where you want to look for it, the column number in the range containing the value to return, return an Approximate or Exact match – indicated as 1/TRUE, or 0/FALSE).

An example of this formula is as follows: =VLOOKUP(B13,A2:C10,2,FALSE). This formula means that it should scan column A (from the 2nd row to the 10th row) to find the cell that has the same value as B13. If it finds the matched cell, it will return the value of the 2nd column (starting from column A). False means that it will find the exact value.

However, some people report that they have encountered the Excel VLOOKUP not working issue. When they execute the VLOOKUP function, they may get various errors. Why is my VLOOKUP not working? How to solve this problem? Keep reading and you will get the answer.

Case 1. #N/A Error

When you execute the VLOOKUP function, you may get the “#N/A” error. The causes and corresponding solutions of this error are as follows:

  1. The lookup value is not in the first column of the array. When you use VLOOKUP, you will specify a searching range (an array). VLOOKUP can only look for values on the left-most column in the table array. To solve the “#N/A” error, you can change the search range.
  2. The exact match is not found. This case usually occurs when you type False for an exact match. The VLOOKUP is unable to find an exact match in your data. In this case, you should check whether you have typed the correct lookup value.
  3. The lookup value is smaller than the smallest value in the array. This case usually occurs when you type True for an approximate match. TRUE looks for an approximate match in the array and returns the closest value lesser than the lookup value. To solve this issue, you should correct the lookup value.
  4. The lookup column is not sorted in ascending order. This case also occurs in an approximate match. To solve the problem, you can rearrange the column or use an exact match instead.
  5. The value is a large floating-point number. Floating point numbers are numbers that follow after a decimal point. Excel cannot store numbers with very large floating points. To make the VLOOKUP function work correctly, the floating-point numbers will need to be rounded to 5 decimal places.

VLOOKUP

Case 2. #VALUE Error

You will get the “#VALUE” error when you do the following things:

  1. The column number of the returning value is less than 1. VLOOKUP can’t look to its left. It will look down the leftmost column of a table and return information from the right. Therefore, the column number of the returning value should be no less than 1.
  2. The workbook path is incorrect or incomplete. VLOOKUP allows you to look up data from another workbook. To do that, you should use this formula: =VLOOKUP(lookup_value, ‘[workbook name]sheet name’!table_array, col_index_num, FALSE). Please make sure the path of the workbook is complete.
  3. The lookup value exceeds the limit of 255 characters. You should shorten it.

Case 3. #REF Error

You will get the “#REF” error if the column number of the returning value is greater than the number of columns in the search array. In this case, you should correct the column number.

Case 4. VLOOKUP Returns Incorrect Results

One of Excel VLOOKUP not working cases is that the VLOOKUP returns incorrect results. This issue usually occurs because:

  1. You have changed the table (insert or delete columns/rows) while the VLOOKUP formula is not changed accordingly.
  2. Your table contains duplicates. The VLOOKUP function only returns the first record that matches the value you looked for. If your table contains duplicates the VLOOKUP may return incorrect results.

About The Author

Linda

Position: Columnist

Author Linda has been working as an editor at MiniTool for 1 year. As a fresh man in IT field, she is curious about computer knowledge and learns it crazily. Maybe due to this point, her articles are simple and easy to understand. Even people who do not understand computer can gain something.

By the way, her special focuses are data recovery, partition management, disk clone, and OS migration.

Понравилась статья? Поделить с друзьями:
  • Причины ошибки p0335
  • Проверить автомобиль рено каптур ошибка
  • Причины ошибки p0301
  • Проверить xml на ошибки notepad
  • Причины ошибки p0170