Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel Web App Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Excel для Windows Phone 10 Excel Mobile Excel Starter 2010 Еще…Меньше
Ошибка #Н/Д обычно означает, что формула не находит запрашиваемое значение.
Лучшее решение
Чаще всего появление ошибки #Н/Д обусловлено тем, что формула не может найти значение, на которое ссылается функция ПРОСМОТРX, ВПР, ГПР, ПРОСМОТР или ПОИСКПОЗ. Например, искомого значения нет в исходных данных.
В данном случае в таблице подстановки нет элемента «Банан», поэтому функция ВПР возвращает ошибку #Н/Д.
Решение: Убедитесь, что искомое значение есть в исходных данных, или используйте в формуле обработчик ошибок, например функцию ЕСЛИОШИБКА. Например, формула =ЕСЛИОШИБКА(ФОРМУЛА();0) означает следующее:
-
=ЕСЛИ(при вычислении формулы получается ошибка, то показать 0, в противном случае показать результат формулы)
Вы можете указать «», чтобы не отображалось ничего, или подставить собственный текст: =ЕСЛИОШИБКА(ФОРМУЛА(),»Сообщение об ошибке»)
Примечания:
-
Если вам нужна справка по ошибке #Н/Д для конкретной функции, например ВПР или ИНДЕКС/ПОИСКПОЗ, выберите один из указанных вариантов.
-
Кроме того, может быть полезно узнать о некоторых распространенных функциях, вызывающих эту ошибку, таких как ПРОСМОТРX, ВПР, ГПР, ПРОСМОТР или ПОИСКПОЗ.
-
Исправление ошибки #Н/Д в функции ВПР
-
Исправление ошибки #Н/Д в функциях ИНДЕКС и ПОИСКПОЗ
Если вы не знаете, что делать на этом этапе или какого рода помощь вам нужна, поищите похожие вопросы на форуме сообщества Excel или опубликуйте там свой вопрос.
Если вам по-прежнему нужна помощь с устранением этой ошибки, приведенный ниже контрольный список поможет вам определить возможные причины проблем в формулах.
Искомое значение и исходные данные относятся к разным типам. Например, вы пытаетесь использовать ссылку на функцию ВПР как число, а исходные данные сохранены как текст.
Решение: Убедитесь, что типы данных совпадают. Проверьте форматы ячеек. Для этого выделите диапазон ячеек, щелкните правой кнопкой мыши, выберите Формат ячеек > Число (или нажмите клавиши CTRL+1) и при необходимости измените числовой формат.
Совет: Если вам нужно принудительно изменить формат для целого столбца, сначала примените нужный формат, а затем выберите Данные > Текст по столбцам > Готово.
Начальные и конечные пробелы можно удалить с помощью функции СЖПРОБЕЛЫ. В приведенном ниже примере в функции ВПР используется вложенная функция СЖПРОБЕЛЫ для удаления начальных пробелов из имен в ячейках A2:A7 и возврата названия отдела.
=ВПР(D2;СЖПРОБЕЛЫ(A2:B7);2;ЛОЖЬ)
Примечание: 24 сентября 2018 г. — Формулы динамического массива — Если у вас есть текущая версия Microsoft 365 и вы находитесь на канале быстрого выпуска Insiders, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона и нажать клавишу Enter, чтобы подтвердите формулу в виде формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
По умолчанию функции, которые ищут данные в таблицах, должны использовать сортировку по возрастанию. Но у функций ВПР и ГПР есть аргумент интервальный_просмотр, который сообщает функции, что нужно искать точное совпадение, даже если таблица не отсортирована. Чтобы найти точное совпадение, укажите для аргумента интервальный_просмотр значение ЛОЖЬ. Помните, что значение ИСТИНА, сообщающее функции о том, что нужно искать приблизительное совпадение, может привести к возвращению не только ошибки #Н/Д, но и ошибочных результатов, как видно в следующем примере.
В этом примере возвращается не только ошибка #Н/Д для элемента «Банан», но и неправильная цена для элемента «Черешня». К такому результату приводит аргумент ИСТИНА, который сообщает функции ВПР, что нужно искать не точное, а приблизительное совпадение. Здесь нет близкого совпадения для элемента «Банан», а «Черешня» предшествует элементу «Персик». В этом случае при использовании функции ВПР с аргументом ЛОЖЬ будет отображаться правильная цена для элемента «Черешня», но для элемента «Банан» все равно будет указана ошибка #Н/Д, потому что в списке подстановок его нет.
Если вы используете функцию ПОИСКПОЗ, попробуйте изменить значение аргумента тип_сопоставления, чтобы указать порядок сортировки таблицы. Чтобы найти точное совпадение, задайте для аргумента тип_сопоставления значение 0 (ноль).
Чтобы исправить ошибку, убедитесь, что диапазон, на который ссылается формула массива, содержит такое же количество строк и столбцов, что и диапазон ячеек, в котором была введена формула массива. Или введите формулу массива в меньшее или большее число ячеек в соответствии со ссылкой на диапазон в формуле.
В данном примере ячейка E2 содержит ссылку на несовпадающие диапазоны:
=СУММ(ЕСЛИ(A2:A11=D2;B2:B5))
Чтобы формула вычислялась правильно, необходимо изменить ее так, чтобы оба диапазона включали строки 2–11.
=СУММ(ЕСЛИ(A2:A11=D2;B2:B11))
Примечание: 24 сентября 2018 г. — Формулы динамического массива — Если у вас есть текущая версия Microsoft 365 и вы находитесь на канале быстрого выпуска Insiders, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона и нажать клавишу Enter, чтобы подтвердите формулу в виде формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
В данном случае для месяцев с мая по декабрь указано значение #Н/Д, поэтому итог вычислить не удается и вместо него отображается ошибка #Н/Д.
Чтобы исправить ошибку, проверьте синтаксис используемой функции и введите все обязательные аргументы, которые возвращают ошибку. Вероятно, для проверки функции вам потребуется использовать редактор Visual Basic. Открыть этот редактор можно на вкладке «Разработчик» или с помощью клавиш ALT+F11.
Чтобы исправить ошибку, убедитесь в том, что книга, содержащая пользовательскую функцию, открыта, а функция работает правильно.
Чтобы исправить ошибку, убедитесь в том, что аргументы функции верны и расположены в нужных местах.
Чтобы исправить ошибку, нажмите клавиши CTRL+ALT+F9 для пересчета листа.
Если вы не знаете точно, какие аргументы использовать, вам поможет мастер функций. Выделите ячейку с формулой, а затем перейдите на вкладку Формулы и нажмите кнопку Вставить функцию.
Excel автоматически запустит мастер.
Щелкните любой аргумент, и Excel покажет вам сведения о нем.
Значение #Н/Д может принести пользу. Значения #Н/Д часто используются в диаграммах с такими данными, как в приведенном ниже примере, поскольку эти значения не отображаются на диаграмме. В примерах ниже показано, как выглядит диаграмма со значениями 0 и #Н/Д.
В предыдущем примере значения 0 показаны в виде прямой линии вдоль нижнего края диаграммы, а затем линия резко поднимается вверх, чтобы показать итог. В следующем примере вместо нулевых значений используются значения #Н/Д.
К началу страницы
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Преобразование чисел из текстового формата в числовой
Функция ВПР
ГПР
Функция ПРОСМОТР
Функция ПОИСКПОЗ
Полные сведения о формулах в Excel
Рекомендации, позволяющие избежать появления неработающих формул
Поиск ошибок в формулах
Сочетания клавиш в Excel
Все функции Excel (по алфавиту)
Функции Excel (по категориям)
Нужна дополнительная помощь?
Deok1982 Пользователь Сообщений: 9 |
Здравствуйте, Уважаемые Гуру |
JeyCi Пользователь Сообщений: 3357 |
#2 04.05.2015 08:13:40
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
Deok1982 Пользователь Сообщений: 9 |
JeyCi
, вашу формулу ввел в F27, теперь вместо #Н/Д появилось #Имя? |
Pelena Пользователь Сообщений: 1416 |
Попробуйте так |
МВТ Пользователь Сообщений: 1198 |
Или установите Excel 2007 или «старше»: до него функции ЕСЛИОШИБКА() не было. |
Deok1982 Пользователь Сообщений: 9 |
Pelena, в F27 стало пусто, но в G27 появилось #ЗНАЧ! |
Deok1982 Пользователь Сообщений: 9 |
#7 04.05.2015 10:07:12
К сожалению, но работаем на 2003, т.к. макросы которые когда то писали в 2003, не работают в 2007 |
||
Deok1982 Пользователь Сообщений: 9 |
Pelena, вроде бы разобрался, в вашу формулу «0» еще добавил Вроде все заработало как надо.Спасибо Изменено: Deok1982 — 04.05.2015 10:11:56 |
V Пользователь Сообщений: 5018 |
П.С. цифры можно без кавычек писать. Изменено: V — 04.05.2015 10:16:14 |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#10 04.05.2015 10:31:46
Это что за макросы такие? |
||
Deok1982 Пользователь Сообщений: 9 |
Юрий М
, есть два файла екселевских. Сначала запускается один, через него второй. Во втором появляется определенное меню с добавлением объектов, с введением размеров и т.д. Так вот в 2007 работать не хочет |
Deok1982 Пользователь Сообщений: 9 |
#12 04.05.2015 10:55:45
Вы имеете ввиду так? Изменено: Deok1982 — 04.05.2015 13:06:57 |
||
V Пользователь Сообщений: 5018 |
да. это была инфа для общего развития. Изменено: V — 04.05.2015 13:05:32 |
Мотя Пользователь Сообщений: 3218 |
#14 04.05.2015 14:14:04
Однако, аргумент… Прикрепленные файлы
|
||
Мотя Пользователь Сообщений: 3218 |
#15 04.05.2015 14:17:19
Значит, эти макросы писали «кривые» руки! |
||
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
#16 04.05.2015 19:55:12
Не факт. Если использовался метод FileSearch, то он заблокирован в версиях старше 2003. И поэтому код в самом начале сообщит об ошибке, т.к. не обнаружит этот метод. Хотя код написан будет верно. Вместо FileSearch в версиях 2007 и выше приходится применять рекурсию. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Мотя Пользователь Сообщений: 3218 |
#17 04.05.2015 21:06:36
Если макрос представляет собой прикладную ценность, проблему всегда можно решить. |
||
МВТ Пользователь Сообщений: 1198 |
Мотя, хотя бы тем, что ВПР() в этой ситуации придется вычислять дважды. А если таблица объемная, это может тормозить работу. Тем более, это не аргумент, а совет |
Мотя Пользователь Сообщений: 3218 |
#19 04.05.2015 21:48:52
Птичку жалко… |
||
МВТ Пользователь Сообщений: 1198 |
#20 04.05.2015 21:53:12
Бесперспективняк — круче |
||
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
#21 04.05.2015 23:12:50
Проблему вообще всегда можно решить. Я про то, что не надо сразу валить вину на руки разработчика. Вы же именно «кривыми руками» прокомментировали тот факт, что код перестал работать. Я привел аргумент из реальной жизни, когда даже грамотный код откажется работать при переходе на более новую версию Excel. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
При работе с формулами в Excel можно столкнуться с ошибкой #Н/Д (частая история с функцией ВПР). В этом уроке мы разберем, как можно исправить ошибку #Н/Д в Excel. Вообще эта ошибка обозначает, что используемая формула не нашла интересующее нас значение.
Способ 1. Функция ЕСЛИОШИБКА()
Предположим, что у нас есть небольшая база данных, в которой для каждого имени указана фамилия и мы хотим при помощи функции ВПР() найти фамилии для указанных выше имен.
ВПР(B6;БД!B:C;2;0)
Так получилось, что для имени Василий в базе данных нет фамилии и Excel выдал ошибку #Н/Д. (Если так случилось, что вы еще не знакомы с функцией ВПР, то настоятельно рекомендую ознакомиться со статьей на нашем сайте «Функция ВПР в Excel»). Для того, что бы избавиться от этой ошибки с помощь функции ЕСЛИОШИБКА(), должны должны в качестве первого аргумента указать нашу формулу ВПР, а в качестве второго аргумента то значение, которое будет выдаваться в случае, если формула вернет ошибку.
ЕСЛИОШИБКА(ВПР(B6;БД!B:C;2;0);»Нет фамилии в базе данных.»)
Функция ЕСЛИОШИБКА() является универсальной функцией для обработки ошибок, во втором способе мы рассмотрим функцию, которая создана специально для обработки только ошибки #Н/Д.
Способ 2. Функция ЕСНД()
Синтаксис функции ЕСНД() аналогичен функции ЕСЛИОШИБКА(), которую мы рассматривали в способе выше, поэтому в качестве первого аргумента мы снова указываем ту функцию, в результате работы которой мы ожидаем ошибку #Н/Д, а в качестве второго аргумента то значение, которое будет выдано вместо ошибки.
ЕСНД(ВПР(B6;БД!B:C;2;0);»Нет фамилии в базе данных.»)
Это были два основные способа, которые можно использовать при обработке ошибки #Н/Д в Экселе. Спасибо что причитали статью до конца.
Перейти к содержимому
В данной статье расскажу о двух ошибках которые может выдать функция ВПР() :
- Ошибка #Н/Д;
- Ошибка #ЗНАЧ.
Перечисленные выше ошибки наиболее часто встречаться при использовании функции ВПР() и очень часто вызывают трудности с устранением у начинающих пользователей Excel .
Когда возникает ошибка #Н/Д и как от нее избавиться при использовании ВПР().
Сообщение об ошибке Н/Д можно расшифровать как аббревиатуру (НД) – нет данных, то есть функции ВПР() нечего отобразить, и она как бы сообщает: «нет данных для отображения».
Почему возникает ошибка Н/Д (НД)?
- Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения нет искомого функцией ВПР() значения.
- Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения значения ячеек имеют ошибки. Иногда ошибки нельзя увидеть «не вооружённым глазом», например, если в ячейке добавлен лишний пробел или едва заметная точка. ВПР() воспринимает значение ячейки без пробела и с пробелом как совершенно разные данные и выдает ошибку «Н/Д».
- Ошибка может возникать потому, что в искомой ячейке уже стоит значение «Н/Д», то есть ВПР() подтягивает эту ошибку из другой ячейки (искомой).
Как исправить ошибки Н/Д?
- Первый способ – применить обработку ошибок – функцию ЕСЛИОШИБКА(ВПР(*;*;*;0);”Здесь была ошибка”). Эта функция заменяет сообщение об ошибке на любое значение, которое Вы укажете.
- Способ №2 – удалить все пробелы и, по возможности, знаки препинания из ячеек. Для этого нужно нажатием клавиш ctrl+H вызвать окно замены значений, потом в поле «Найти» ввести пробел или знак препинания, а в поле «Заменить на:» не вводить ничего и нажить кнопку «Заменить все».
- Способ №3 – поставить в функции ВПР() допуск ошибки. Как нам извесчтно 4 –й аргумент функции это число ошибок которые может допускать в сравниваемой строке функция ВПР(). То есть, если поставить число «1», то допускается 1 ошибка при сравнении [ВПР(*;*;*;1)]. В таком случае строка без пробела и с одним пробелом будут считаться идентичными. Но в таком способе есть подвох — очень высока вероятность неверных результатов, например, слово «полка» и «палка» имеют отличие всего в один знак и будут восприняты функцией, как одно и то же.
Когда возникает ошибка #ЗНАЧ и как от нее избавиться при использовании ВПР().
Ошибка #ЗНАЧ может выводиться функцией ВПР(), если введенные значения аргументов функции некорректны и функция не может их обработать.
Казалось бы какие значения могут быть некорректными, если ВПР() необходимо просто сравнить одно значение с другим и присвоить ячейке данные из совпавших ячеек, но эта ошибка возникает.
Появляется ошибка #ЗНАЧ в функции ВПР() тогда, когда длина строки сравниваемой функцией слишком большая и не может быть обработана. Например, в Excel 2010 максимальная длина строки обрабатываемой функцией всего 255 символов, и если Вы будете сравнивать строки длиной 256 и более символов, то получите ошибку #ЗНАЧ.
Исправить ошибку #ЗНАЧ в таком случае можно уменьшив длины сравниваемых строк.
Еще ошибка #ЗНАЧ может возникнуть если Вы пропустили(не указали) один из аргументов в функции.
Этот урок объясняет, как быстро справиться с ситуацией, когда функция ВПР (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;ЛОЖЬ))
На сегодня всё. Надеюсь, этот короткий учебник поможет Вам справиться со всеми возможными ошибками ВПР и заставит Ваши формулы работать правильно.
Оцените качество статьи. Нам важно ваше мнение: