- ВПР не работает
- Вариант 1. ВПР вернула ошибку #Н/Д во всех ячейках
- Вариант 2. ВПР подтянула значения только в верхней части таблицы, в нижней — #Н/Д
- Вариант 3. ВПР подтягивает только часть значений, остальные – #Н/Д
- Вариант 4. ВПР возвращает ошибку #ССЫЛКА
- И еще несколько советов по функции ВПР в Excel:
- 9 комментариев к “ ВПР не работает ”
- Почему не работает функция ВПР в Excel (причины, ошибки и их решение)
- Несколько причин, по которым возникает ошибка #Н/Д
- Неправильный ввод искомого значения
- Если ищется приближенное соответствие
- При поиске точного соответствия введенному запросу
- На данный момент столбец не является крайним левым
- Числовые значения отформатированы, как текстовые
- Если стоит пробел в начале или в конце содержимого
- Ошибка #ЗНАЧ! в формуле ВПР
- Причина 1: значение, которое ищется, содержит больше 255 знаков
- Причина 2: не прописан полный путь к рабочей книге, используемой для поиска
- Причина 3: пользователь ввел значение меньше 1 в аргумент «Номер столбца»
- Ошибка #ИМЯ?
- Почему еще может не работать функция ВПР?
- Нечувствительность к регистру
- Возвращение первого найденного значения
- Новая колонка была вставлена в таблицу или убрана из таблицы
- Искажение ссылок на ячейки при копировании функции
- Обработка ошибок при использовании функции ВПР
- Использование функции ЕСЛИОШИБКА
- Использование функции ЕОШИБКА
ВПР не работает
Как работает ВПР в Excel читайте в посте “Функция ВПР – чудо экономии времени”. Здесь же вы узнаете, что делать, если ВПР не работает. Так бывает. Скорее всего вы допустили ошибку. Есть четыре наиболее распространенных варианта ошибок:
- Ошибка Н/Д в каждой ячейке.
- Ошибка Н/Д преимущественно в нижней части таблицы.
- Ошибка Н/Д в отдельных ячейках.
- Ошибка #ССЫЛКА.
А теперь разберем каждый вариант подробнее.
Вариант 1. ВПР вернула ошибку #Н/Д во всех ячейках
- Вы неправильно выделили диапазон поиска – начали не с того столбца:
Все будет в порядке, как только вы исправите ошибку:
=впр(B3;'[прайс-лист.xlsx]Лист1′! $C$3:$E$7 ;3;ложь)
- Не совпадает текст, по которому ВПР ищет данные.
Например, в одном файле текст “Компьютер AF”, в другом файле “Компьютер—AF”. Если не заметили, разница всего лишь в наличии дефиса во втором случае. Тем не менее, ВПР не считает такое расхождение мелочью и, следовательно, не сработает.
Единственное исключение – допускаются разные регистры. Например, “Компьютер AF” и “компьютер af” не составит проблемы для ВПР.
Идентичность текста удобно проверять функцией =ЯЧЕЙКА=ЯЧЕЙКА. Смотрите пример на рисунке ниже и описание под ним:
- Введите в ячейку D2 знак “=”
- Выделите ячейку B2 с первым значением Планшет DC.
- Опять введите “=”.
- Выделите ячейку C2 со вторым значением.
- Кликните Enter и протяните формулу вниз.
В результате в ячейках отобразится либо “ИСТИНА” (значения совпадают), либо “ЛОЖЬ” (значения не совпадают).
Как видите, не совпадают значения в строке 4: “Компьютер А” и “Компьютер F” (в ячейке D4 видим слово “ЛОЖЬ”).
Использовать функцию можно как в одном, так и в разных файлах.
Что можно предпринять, если текст не совпадает?
- Если вы регулярно работаете с этими файлами, поменяйте текст вручную. Единожды потратив на это время, вы значительно сэкономите его в будущем. Если смена текста невозможна, создайте дополнительный столбец, куда введете текст из второго файла.
- Иногда текст не совпадает из-за каких-то наборов знаков, которые повторяются в каждой ячейке. К примеру, в одном из файлов везде добавлен артикул: “010-01583 Компьютер AF”, а в другом файле этого артикула нет “Компьютер AF”. В этом случае текст можно заменить автоматически. Об этом читайте в следующих постах.
- В одном из файлов в тексте содержатся невидимые пробелы. Это хитрая разновидность несовпадения текста. Хитрая, потому что не всегда ее можно заметить. Вот полюбуйтесь:
Как быть? Воспользуйтесь формулой =СЖПРОБЕЛЫ(ЯЧЕЙКА). Эта формула убирает все лишние пробелы. Подробнее – в посте о работе с текстом.
- В одном файле числа сохранены в виде текста, в другом – в виде чисел:
Для устранения проблемы сделайте следующее:
- Выделите весь столбец с числами в виде текста (на рисунке выше диапазон B2:В5).
- Подведите курсор к значку “!” и кликните по появившейся стрелочке.
- Выберите из выпадающего списка “Преобразовать в число” – см. рисунок ниже.
Вариант 2. ВПР подтянула значения только в верхней части таблицы, в нижней — #Н/Д
- Смещение диапазона. Чаще всего это происходит, если данные подтягиваются из одного и того же файла. Например, из Листа 1 на Лист 2 или даже из одного и того же листа. Что происходит? Мы тянем формулу вниз, а вместе с ней тянется и диапазон. Вот так:
Как исправить? Надо закрепить диапазон:
- Кликните дважды по ячейке с формулой (С5) – отобразится формула.
- В отобразившейся формуле поместите курсор на В12 и нажмите клавишу F4 на клавиатуре.
- Переместите курсор на С14 в этой же формуле и опять нажмите F4.
- Кликните Enter и формула преобразится, из а) в б)
а) =ВПР(В5; В12:С14 ;2;ложь)
б) =ВПР(В5; $B$12:$С$14 ;2;ложь)
Значок “$” указывает на то, что диапазон закреплен. Теперь при протягивании формулы вниз, он не будет смещаться.
Вариант 3. ВПР подтягивает только часть значений, остальные – #Н/Д
- В некоторых ячейках текст не совпадает на 100%.
Если таких ячеек немного, то проще всего исправить это вручную, копируя из одного файл в другой.
Вариант 4. ВПР возвращает ошибку #ССЫЛКА
- Вы неверно указали номер столбца. ВПР всегда считает столбцы, начиная с первого столбца выделенного диапазона. Поэтому на рисунке ниже красные номера неверные, зеленые – правильные:
И еще несколько советов по функции ВПР в Excel:
- При вводе формулы используете точку с запятой, а не запятые.
- Если протягиваете формулу вправо, не забывайте закреплять ссылку в начале формулы, чтобы формула имела вид: =ВПР( $В5 ;$B$12:$С$14;2;ложь). Для этого наведите курсор на В5 (прямо в формуле) и трижды нажмите клавишу F4 на клавиатуре.
- Не используйте аргумент “ИСТИНА” в ВПР, если работаете с текстом. Это приблизительный поиск, в котором будет много ошибок.
9 комментариев к “ ВПР не работает ”
Очень хорошая статья! Без воды и написано именно то, что надо по сути
Но, чтобы статья стала почти исчерпывающей я бы добавил, что иногда ВПР может возвращать ошибку, которая может быть не замечена пользователем, так как не появляется #Н/Д или #ССЫЛКА, однако, при этом функция ВПР() работает некорректно, так как результат ошибочный.
Это происходит в тех случаях, когда в формуле последний аргумент не ЛОЖЬ, а ИСТИНА (или вообще не приведен, а это приравнивается к тому, как если бы была указана ИСТИНА) и при этом первый столбец не отсортирован. Формула вида =ВПР(В5;$B$12:$С$14;2) корректно работать то будет.
Спасибо за комментарий! Да, конечно, это все совершенно верно для ВПР с аргументом ИСТИНА (или без него). Но поскольку статья является фактически продолжением статьи, в которой рассматривалась исключительно ВПР с аргументом ЛОЖЬ, то данная ошибка не приведена.
Спасибо.
Доходчиво и быстро применимо. решил вопрос!
Источник
Почему не работает функция ВПР в Excel (причины, ошибки и их решение)
В этом руководстве описывается, как можно быстро решить проблему, при которой функция Excel ВПР() показывает пользователю ошибку в разных версиях программы электронных таблиц. Также будут описаны ошибки, получившие наибольшее распространение, а также будут приведены рекомендации, как можно обойти ограничения этой функции.
Раньше вы могли уже читать о том, для чего предназначена функция ВПР, и где ее можно применять. Особенно, если вы до этого активно интересовались функциями программы электронных таблиц Excel. В таком случае вы уже должны стать экспертом в этой области.
Но даже если вы слышали об этой функции, вы все равно можете столкнуться со сложностями. По разным причинам эта функция считается самой сложной в программе электронных таблиц. Для ее использования есть множество ограничений, а также незаметных с первого взгляда нюансов, которые являются источником большого количества проблем и ошибок.
В этом сравнительно небольшом руководстве вы найдете простой способ, как обойти такие ошибки, как #Н/Д, #ИМЯ, #ЗНАЧ!, которые часто появляются при работе с этой функцией, а также ознакомитесь с самыми частыми ситуациями, когда эти ошибки возникают.
Несколько причин, по которым возникает ошибка #Н/Д
В формуле = ВПР эта ошибка расшифровывается, как «Нет данных». Простыми словами, у электронной таблицы не получается отыскать значение, которое необходимо пользователю. Есть множество причин, по которым эта проблема может появляться.
Неправильный ввод искомого значения
Наиболее частая причина возникновения этой ошибки – ввод значения с опечаткой. Например, случайно была написана буква вместо цифры. Особенно часто эта ошибка появляется, если обрабатываются огромные массивы данных.
Если ищется приближенное соответствие
Если пользователь применяет range_lookup (то есть, интервальный просмотр) в качестве аргумента функции, в конечном итоге возможно появление ошибки #Н/Д. Это может случиться при возникновении одного из следующих условий:
- Если значение, которое необходимо найти в конкретном диапазоне, меньше, чем самое крошечное в анализируемой совокупности данных.
- Если перед введением функции пользователь не упорядочил по возрастанию связанную с ней колонку.
При поиске точного соответствия введенному запросу
Если значение, которое пользователь пытается найти, ищется с помощью формулы, и найти его не удалось, это тоже может быть причиной возникновения этой ошибки.
На данный момент столбец не является крайним левым
Наиболее существенным ограничением при использовании формулы ВПР – невозможность применить ее к столбцу, который не является крайним левым. Обычно пользователь забывает об этом, и в результате формула выдает описанную выше ошибку.
Преодоление этой трудности заключается в следующем: если по какой-то причине не получается переместить столбец влево, необходимо использовать сразу две функции Excel: ИНДЕКС(), ПОИСКПОЗ().
Числовые значения отформатированы, как текстовые
Это также часто встречаемый источник проблем с формулой ВПР() . Нередко пользователь может не замечать, что числовые значения отформатированы как текстовые. Часто такая проблема может встретиться, если информация копируется из других источников.
Еще одна причина подобной ошибки – пользователь забыл о том, что он поставил апостроф перед числом, чтобы сохранить ноль, который находится перед значением. Например, может быть так, как показано на следующей картинке.
Еще одна причина ошибки – формат может быть обозначен, как «Общий». Определить это можно по расположению значения внутри ячейки. Если они выравниваются по левому краю, это означает, что формат выбран как «Общий».
Чтобы исправить эту проблему, достаточно просто нажать на параметр «Конвертировать в число» в контекстном меню.
Если эта ошибка вызвана несколькими ячейками с числовыми значениями, их необходимо выделить, после чего нужно кликнуть по соответствующей области правой кнопкой мыши. В ответ на это действие появится контекстное меню, в котором нужно выбрать опцию «Формат ячеек», далее нужно будет нажать на «Число» и выбрать числовой формат. Последнее действие – нажатие кнопки «ОК».
Если стоит пробел в начале или в конце содержимого
Причина возникновения этой ошибки наименее заметна. Если таблица существенно большая, тяжело увидеть, в каких клетках располагаются пробелы. Особенно если часть ячеек оказывается за пределами экрана.
Решение номер 1: Если пробелы находятся в таблице, к которой применяется функция ВПР
Если в основной таблице обнаружены пробелы, можно применить функцию СЖПРОБЕЛЫ в аргументе «Искомое значение». Значительно проще это продемонстрировать на примере.
=ВПР(СЖПРОБЕЛЫ($F2),$A$2:$C$10,3,FALSE)
Решение номер 2: Если лишние пробелы находятся в столбце или таблице поиска
В таком случае не получится легко предотвратить ошибку. Здесь необходимо использовать несколько функций: ИНДЕКС(), ПОИСКПОЗ(), СЖПРОБЕЛЫ().
В результате получится формула массива, для правильного ввода которой нужно нажать на комбинацию клавиш Ctrl+Shift+Enter.
В качестве альтернативного способа решения этой проблемы можно воспользоваться дополнением «Trim Spaces for Excel», которое позволяет убрать ненужные пробелы в формулах как в главной таблице, так и в таблице поиска. Это бесплатный инструмент, который можно скачать по .
Ошибка #ЗНАЧ! в формуле ВПР
В целом, Excel отображает эту ошибку, если в формуле используется неправильный тип данных. Выделяется несколько причин этой ошибки.
Причина 1: значение, которое ищется, содержит больше 255 знаков
Это еще одно ограничение этой функции. Нельзя ее применять к ячейкам, содержимое которых длиннее 255 знаков. Если этот предел превышается, в результате может появиться сообщение #ЗНАЧ!.
Чтобы решить эту проблему, необходимо использовать связку формул ИНДЕКС()+ПОИСКПОЗ() . Вот пример формулы, демонстрирующий на практике реализацию этой задачи:
=ИНДЕКС(C2:C7;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B2:B7=F$2;0);0))
Причина 2: не прописан полный путь к рабочей книге, используемой для поиска
При указании данных из другого файла, необходимо ввести полный путь к нему. Проще говоря, необходимо указать как его имя, так и расширение, после чего ввести имя листа и не забыть про восклицательный знак. Лучше всего это все заключить в апострофы для предотвращения возникновения ошибок из-за наличия пробелов в папке к файлу или в самой книге Excel.
Вот как эта формула выглядит:
А вот пример использования этой формулы на практике:
Здесь программа будет искать содержимое ячейки A3 столбца c листа Sheet2 файла «NewPrice». Данные формула будет извлекать из столбца C.
Если программа не может получить доступ к файлу, функция будет выдавать ошибку #ЗНАЧ. Причем ошибка будет выдаваться, даже если этот файл открыт в данный момент параллельно с файлом, где прописывается формула.
Причина 3: пользователь ввел значение меньше 1 в аргумент «Номер столбца»
Тяжело вообразить, что кто-то может вводить для обозначения столбца значение меньше единицы. Но такая ситуация бывает, если в аргументе прописана переменная, значение которой вычисляется другой функцией Excel.
Таким образом, если аргумент «Номер столбца» будет меньше единицы, функция также вернет ошибку #ЗНАЧ!
Если же аргумент «Номер столбца» больше, чем общее количество столбцов в этом наборе данных, то функция ВПР() выдаст ошибку #ССЫЛ!.
Ошибка #ИМЯ?
Наиболее простой проблемой является ошибка #ИМЯ? Означает она, что имя функции было введено неправильно. Поэтому, чтобы ее исправить, необходимо просто найти опечатку.
Почему еще может не работать функция ВПР?
Функция ВПР() имеет довольно сложный синтаксис. Но не только он является причиной сложностей в работе с этой формулой. В ходе пользования программой может появиться множество неприятностей даже в, казалось бы, простых случаях. Далее приводятся самые распространенные ситуации, когда ВПР() может выдавать ошибку. Также описываются ограничения, которые нужно учитывать.
Нечувствительность к регистру
Эта функция не может понять, где большая буква, а где – маленькая. Поэтому в наборе данных, где есть аналогичные за исключением регистра символов элементы, она вернет первый попавшийся, без учета регистра.
Чтобы решить эту проблему, можно использовать другую функцию Excel, которая может искать нужное значение в столбце (ИНДЕКС(), ПОИСКПОЗ(), ПРОСМОТР() и другие) вместе с СОВПАД(). Последняя функция может различать регистр.
Возвращение первого найденного значения
Кроме использования другой функции для поиска значения с учетом регистра, можно использовать другую формулу, если точно известно, какое по очередности значение нужно найти. Для этого необходимо использовать функции ИНДЕКС(), НАИМЕНЬШИЙ() и СТРОКА(). Так можно будет выбирать 2, 3, 4 или любое другое требуемое значение.
Новая колонка была вставлена в таблицу или убрана из таблицы
К сожалению, формула ВПР() перестает работать при каждом добавлении в таблицу столбца. Все потому, что ее синтаксис требует введения всего массива ячеек, в которых осуществляется поиск информации. Конечно, ситуация меняется, если туда вставляется столбец.
Здесь также нужно использовать функции ИНДЕКС() и ПОИСКПОЗ(). Они позволяют указать не массив всего диапазона, а лишь требуемые столбцы, и поэтому можно редактировать все остальные без необходимости обновлять связанные с ними формулы.
Искажение ссылок на ячейки при копировании функции
Вам сразу стало понятно, в чем проблема, верно? Решить ее просто: используя абсолютные ссылки на те ячейки, которые нужно оставить стабильными при копировании функции. Для этого необходимо перед названием столбца или строки поставить значок доллара ($). Например, прописать диапазон таким образом: $A$2:$C$100. Более простой вариант: $A:$C. С помощью клавиши F4 можно оперативно изменять тип адреса ячейки.
Обработка ошибок при использовании функции ВПР
Если нет необходимости демонстрировать пользователям код ошибки (например, #Н/Д), можно использовать ВПР() совместно с функцией ЕСЛИОШИБКА() в Excel последних версий вплоть до 2007. Также можно использовать две функции ЕСЛИ()+ЕОШИБКА(), если версия более старая.
Использование функции ЕСЛИОШИБКА
Для этой формулы характерен простой синтаксис:
Таким образом, на месте первого аргумента вставляется значение, которое тестируется на наличие ошибки, а на месте второго необходимо прописать текст или число, выдаваемые при возникновении ошибки.
Вот пример использования функции на практике:
В этом случае будет возвращаться пустая ячейка, если обнаруживается ошибка.
Можно в кавычки написать любую другую фразу. Например, ту, которая показана на скриншоте.
Использование функции ЕОШИБКА
Описанная выше функция впервые появилась в Excel 2007 версии, поэтому, если используются более старые версии программы (например, если компьютер имеет небольшую производительность, но на нем нужно обрабатывать большие объемы данных), нужно использовать такую формулу:
=ЕСЛИ(ЕОШИБКА(ВПР формула);”Ваше сообщение при ошибке”;ВПР формула)
На практике формула будет выглядеть следующим образом:
Итак, на сегодня все. Как вы можете увидеть, большинство проблем с формулой ВПР являются сложными только на первый взгляд. На самом деле, они решаются довольно просто. Достаточно запомнить, что каждая из ошибок означает, и в следующий раз можно понять, какие действия нужно предпринимать. Если же таблица будет читаться пользователем, который абсолютно не разбирается в электронных таблицах, а исправить ошибку пока не удается, можно запрограммировать текст, который будет отображаться вместо кода ошибки.
Источник