Если енд в excel примеры

Функция ЕНД в Excel используется для проверки ячеек или выражений, передаваемых в качестве аргумента, и возвращает логическое значение ИСТИНА. Например, если ячейка содержит код ошибки #Н/Д или результатом вычисления выражения, переданного в качестве аргумента, является код ошибки #Н/Д. В противном случае результатом выполнения данной функции является логическое ЛОЖЬ.

Суммирование количества ошибок в ячейках Excel

Примеры использования функции ЕНД в Excel. Данная функция принадлежит к категории «Проверка свойств и значений» – функций Excel (нелогические функции для проверки условий). Она удобна при проведении сложных расчетов с ветвлением логики. Например, при отсутствии ошибки будет выполнено действие_1, в противном случае – действие_2.

Пример 1. В таблице содержатся данные о товарах и их количестве. Данные были получены из СУБД, если количество единиц товаров равно нулю, в таблице Excel данная информация отобразилась в виде кода ошибки #Н/Д. Определить число наименований товаров, которых нет в наличии.

Вид таблицы данных:

Пример 1.

Для расчета используем следующую запись (формула массива CTRL+SHIFT+Enter):

=СУММ(—ЕНД(B3:B13))

Функция ЕНД принимает сразу диапазон ячеек B3:B13 в качестве аргумента, поскольку используется формула массива. Двойное отрицание «—» необходимо для явного преобразования логических значений к числовым данным (ИСТИНА – 1, ЛОЖЬ – 0). Функция СУММ суммирует элементы полученного массива из нулей и единиц. В результате получаем:

Функция ЕНД.

В результате мы получили число равно количеству ошибок #Н/Д в столбце B.



Как получить первое значение ячейки вместо ошибки Н/Д в Excel

Пример 2. В таблице содержится диапазон ячеек со случайными числами, отсортированными в порядке возрастания. Найти ближайшее число из данного диапазона заданному с помощью функции ПРОСМОТР. Известно, если искомое число меньше первого значения в диапазоне, будет выведен код ошибки #Н/Д. Обработать данную ситуацию так, чтобы вместо кода ошибки выводился первый элемент массива.

Вид таблицы данных:

Пример 2.

Для поиска числа 1 используем следующую запись:

Функция ЕНД анализирует результат выполнения функции ПРОСМОТР. Если в качестве первого аргумента ПРОСМОТР передано числовое значение, которое меньше значения первого элемента просматриваемого диапазона, будет сгенерирован код ошибки #Н/Д и будет выполнено выражение, переданное в качестве аргумента значение_если_истина функции ЕСЛИ. В противном случае (искомое число находится в диапазоне массива или превышает значение его последнего элемента), выполнится выражение, переданное в качестве аргумента значение_если_ложь.

Результат вычислений:

результат выполнения функции ПРОСМОТР.

Как видно, ошибка #Н/Д не выводится, а вместо нее первое значение ячейки просматриваемого столбца.

Описание синтаксиса и параметров функции ЕНД в Excel

Функция ЕНД имеет следующую синтаксическую запись:

=ЕНД(значение)

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

Примечания:

  1. Преобразование типов данных для значений, переданных в качестве аргумента функции ЕНД, не выполняется. Например, число «99» указанное в кавычках, будет рассматриваться как текстовые данные. Если в качестве аргумента была передана строка «#Н/Д», ЕНД вернет значение ЛОЖЬ. Если ячейка содержит код ошибки #Н/Д, функция ЕНД, получившая ссылку на данную ячейку в качестве аргумента, вернет – ИСТИНА.
  2. Данная функция обычно используется в комбинации с ЕСЛИ и другими функциями для проверки выражения для своевременной проверки результатов вычислений и перехвата возможной ошибки.
  3. Код ошибки #Н/Д генерируют функции в случаях, когда в формулах используются недопустимые значения. Распространенные примеры:
  • при использовании функций для поиска данных (ПОИСКОП, ВПР и других), если в качестве аргумента «искомое_значение» было введено несуществующее;
  • при использовании формул массивов, если длина массива результатов превышает длину исходных массивов;
  • если при использовании функции не были указаны один либо нескольких аргументов, обязательных для заполнения.


Функция

ЕНД()

, английский вариант ISNA(), п

роверяет на равенство значению #Н/Д (значение недоступно) и возвращает в зависимости от этого ИСТИНА или ЛОЖЬ.

Синтаксис функции


ЕНД

(

значение

)


Значение

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

Функция

ЕНД()

позволяет обработать ошибку #Н/Д. Откуда берется эта ошибка?

Некоторые функции, например

ПРОСМОТР()

,

ПОИСКПОЗ()

или

ВПР()

могут вернуть ошибку #Н/Д (значение недоступно).

Значение ошибки #Н/Д не очень информативно, поэтому вместо значения #Н/Д можно обработать, т.е., например, заменить #Н/Д на слово «Ошибка» или другое информационное сообщение типа «Значение не найдено» или «Введите другое число».

Например, если в ячейке

Е2

содержится ошибка #Н/Д, то в любой другой пустой ячейке можно ввести формулу

=ЕСЛИ(ЕНД(E2);»ОШИБКА!»;E2)

Теперь если в ячейке

Е2

содержится ошибка #Н/Д, то будет выведено слово

ОШИБКА!

(см.

файл примера

).

ЕНД – простейшие примеры
Раздел функций Информация
Название на английском ISNA
Волатильность Не волатильная
Похожие функции ЕСЛИОШИБКА, ЕОШ, ЕОШИБКА

Синтаксис

=ЕНД(значение)

Результат функции всегда ИСТИНА или ЛОЖЬ.

Что делает функция ЕНД?

Эта функция проверяет ячейку, чтобы определить, содержит ли она ошибку НеДоступно (#Н/Д).

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

ЕНД обычно используется в комбинации с другими, например, с функцией ЕСЛИ. Это позволяет обрабатывать ошибки и выводить при необходимости другие значения.

Примеры применения ЕНД с ВПР и ЕСЛИ

Примеры использования функции ЕНД с функциями ВПР и ЕСЛИ

Последние три формулы с ЕНД (выделены красным):

=ЕНД(ВПР(C12;A:B;2;0))
=ЕСЛИ(ЕНД(ВПР(C13;A:B;2;0));"не найдено";ВПР(C13;A:B;2;0))
=ЕСЛИ(ЕНД(ВПР(C14;A:B;2;0));"не найдено";ВПР(C14;A:B;2;0))

Обратите внимание – поскольку формула при обработке возвращает только ИСТИНА и ЛОЖЬ, то в случаях, когда ошибки нет, приходится вставлять исходную проверяемую функцией формулу повторно. Это удлиняет формулы и удваивает производимые вычисления в таких случаях, поэтому многие предпочитают использовать не такую связку, а функцию ЕСЛИОШИБКА.

Другие функции “Информация”

ЕЛОГИЧ, ЕОШ, ЕОШИБКА, ЕПУСТО, ЕЧЁТН, ЕНЕТЕКСТ, ЕНЕЧЁТ, ЕССЫЛКА, ЕТЕКСТ, ЕЧИСЛО, ИНФОРМ, НД, СЧИТАТЬПУСТОТЫ, ТИП.ОШИБКИ, Ч, ЯЧЕЙКА


  • Опубликовано
    30 мая 2020 г.

  • Категория:
    MS Office
  • Теги: Формулы и функции Excel
  • Прочитали 296 человек

Функция ЕНД в Excel предназначена для определения ошибки #Н/Д (значение недоступно) в других ячейках. Возвращает логическое значение в зависимости от наличия указанной ошибки. Для определения  ошибок других типов не подходит.


Смотрите видео после статьи

видео может дополнять статью или содержать её полностью

В некоторых случаях требуется определить только ошибку «#Н/Д», а на остальные ошибки не обращать внимания. Это бывает нужно при использовании некоторых других формул. В Excel ЕНД применяется именно для таких случаев.

В конце статьи рассмотрен пример использования ЕНД для функции ВПР. Но сначала рассмотрим синтаксис формулы ЕНД.

Синтаксис формулы ЕНД

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

В обобщённом виде функция записывается таким образом:
ЕНД(адрес)

На выходе функция возвращает логическое значение «ИСТИНА», если в указанной ячейке есть ошибка #Н/Д. Если такой ошибки нет (или есть, но другая ошибка), то формула возвращает значение «ЛОЖЬ». Полученное логическое значение можно использовать в других формулах или просто вывести в ячейку.

Саму формулу можно вставить в таблицу вручную или через Мастер функций.

Функция ЕНД в Excel на примерах

Работу функции ЕНД в Excel мы рассмотрим на примере применения формулы ВПР, которая возвращает ошибку «#Н/Д», если в указанной таблице не найдено совпадений. Скачайте пример для ЕНД и ВПР в виде файла Excel, который прикреплён после статьи. Этот же пример разобран на видео.

После того как разберётесь с нашим примером, попробуйте составить свой собственный. Придумаете интересный пример — опубликуйте его в комментариях в помощь другим нашим читателям, изучающим программу.

Научиться работать в Excel Вы можете не выходя из дома при помощи нашего спецкурса. С примерами видео-уроков и полным описанием видеокурса Вы можете познакомиться здесь.

Уникальная метка публикации: FB05B92F-AC05-DC9C-204E-78BC8CF730F1
Источник: //artemvm.info/information/uchebnye-stati/microsoft-office/funkcziya-end-v-excel/

Смотреть видео
Функция ЕНД в Excel

Функция ЕНД в Excel видео

Смотреть видео

Прикреплённые документы

Вы можете просмотреть любой прикреплённый документ в виде PDF файла. Все документы открываются во всплывающем окне, поэтому для закрытия документа пожалуйста не используйте кнопку «Назад» браузера.

  • Справка по функции ЕНД в Excel.pdf

Файлы для загрузки

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

  • Функция ЕНД в Excel (примеры).zip

Авторы публикации

В группу функций Е входит девять функций, которые проверяют значение, и, в зависимости от результата, возвращают значение ИСТИНА либо ЛОЖЬ.

Описание функций группы Е

Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Всего девять функций: ЕПУСТО, ЕОШ, ЕОШИБКА, ЕЛОГИЧ, ЕНД, ЕНЕТЕКСТ, ЕЧИСЛО, ЕССЫЛКА, ЕТЕКСТ.

Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. Функции Е используются для получения сведений о значении перед выполнением с ним вычисления или другого действия.

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

=ЕСЛИ(ЕОШИБКА(A1);"Произошла ошибка.";A1*2)

Эта формула проверяет наличие ошибки в ячейке A1. При возникновении ошибки функция ЕСЛИ возвращает сообщение «Произошла ошибка.» Если ошибки отсутствуют, функция ЕСЛИ вычисляет произведение A1*2.

Синтаксис

=ЕНД(значение)

Аргументы

значение

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

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

Замечания

  • Аргументы в функциях Е не преобразуются. Любые числа, заключенные в кавычки, воспринимаются как текст. Например, в большинстве других функций, требующих числового аргумента, текстовое значение «19» преобразуется в число 19. Однако в формуле ЕЧИСЛО(«19») это значение не преобразуется из текста в число, и функция ЕЧИСЛО возвращает значение ЛОЖЬ.
  • С помощью этих функций удобно проверять результаты вычислений в формулах. Комбинируя эти функции с функцией ЕСЛИ, можно находить ошибки в формулах.

Пример

В этом учебном материале вы узнаете, как использовать Excel функцию ЕНД с синтаксисом и примерами.

Описание

Функцию ЕНД Microsoft Excel можно использовать для проверки ошибки #Н/Д (значение недоступно).
Функция ЕНД — это встроенная в Excel функция, которая относится к категории информационных функций.
Её можно использовать как функцию рабочего листа (WS) в Excel.
Как функцию рабочего листа, функцию ЕНД можно ввести как часть формулы в ячейку рабочего листа.

Синтаксис

Синтаксис функции ЕНД в Microsoft Excel:

ЕНД(значение)

Аргументы или параметры

значение
Значение, которое вы хотите проверить.
Если значение является значением ошибки #Н/Д!, эта функция вернет ИСТИНА. В противном случае она вернет ЛОЖЬ.

Возвращаемое значение

Функция ЕНД возвращает ИСТИНА, если значение является ошибкой #Н/Д!. В противном случае функция ЕНД возвращает ЛОЖЬ.

Применение

  • Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 для Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

Тип функции

  • Функция рабочего листа (WS)

Пример (как функция рабочего листа)

Рассмотрим несколько примеров функции Excel ЕНД, чтобы понять, как использовать Excel функцию ЕНД как функцию рабочего листа в Microsoft Excel:
ЕНД
На основании, приведенной выше электронной таблицы Excel, будут возвращены следующие примеры функции ЕНД:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

=ЕНД(A1)

Результат: ЛОЖЬ

=ЕНД(A2)

Результат: ИСТИНА

=ЕНД(A3)

Результат: ЛОЖЬ

=ЕНД(A4)

Результат: ЛОЖЬ

=ЕНД(«Microsoft»)

Результат: ЛОЖЬ

=ЕНД(1/0)

Результат: ЛОЖЬ

Хитрости »

15 Май 2011              512228 просмотров


Как найти значение в другой таблице или сила ВПР

  • Задача и её решение при помощи ВПР
  • Описание аргументов ВПР
  • Что важно всегда помнить при работе с ВПР
  • Как избежать ошибки #Н/Д(#N/A) в ВПР?
  • Как при помощи ВПР искать значение по строке, а не столбцу?
  • Решение при помощи ПОИСКПОЗ
  • Работа с критериями длиннее 255 символов
Задача и её решение при помощи ВПР

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

рис.1

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

C2

второй таблицы(туда, куда необходимо подставить даты из первой таблицы) такую формулу:

=ВПР($A2;Лист1!$A$1:$C$4;3;0)
=VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)

Записать формулу можно либо непосредственно в ячейку, либо воспользовавшись диспетчером функций, выбрав в категории Ссылки и массивы(References & Arrays) функцию ВПР(VLOOKUP) и по отдельности указав нужные критерии. Теперь копируем(

Ctrl

+

C

) ячейку с формулой(С2), выделяем все ячейки столбца

С

до конца данных и вставляем(

Ctrl

+

V

).

Теперь разберем поподробнее саму функцию, её аргументы и некоторые особенности.
ВПР ищет заданное нами значение(аргумент искомое_значение) в первом столбце указанного диапазона(аргумент таблица). Поиск значения всегда происходит сверху вниз(собственно, поэтому функция и называется ВПР: Вертикальный ПРосмотр). Как только функция находит заданное значение — поиск прекращается, ВПР берет строку с найденным значением и смотрит на аргумент номер_столбца. Именно из этого столбца берётся значение, которое мы и видим как итог работы функции. Т.е. в нашем конкретном случае, для ячейки С2 второй таблицы, функция берет фамилию «Петров С.А.»(ячейка $A2 второй таблицы) и ищет её в первом столбце указанной таблицы(Лист1!$A$1:$C$4), т.е. в столбце А. Как только находит(это ячейка А3)

ВПР может вернуть только одно значений — первое, подходящее под критерий. Если искомое значение не найдено(отсутствует в таблице), то результатом функции будет ошибка #Н/Д(#N/A). Не надо этого бояться — это даже полезно. Вы точно будете знать, каких записей нет и таким образом можете сравнивать две таблицы друг с другом. Иногда получается так, что Вы видите: данные есть в обеих таблицах, но ВПР выдает #Н/Д. Значит данные в Ваших таблицах не идентичны. В какой-то из них есть лишние неприметные пробелы(обычно перед значением или после), либо знаки кириллицы перемешаны со знаками латиницы. Так же #Н/Д будет, если критерии числа и в искомой таблице они записаны как текст(как правило в левом верхнем углу такой ячейки появляется зеленый треугольничек), а в итоговой — как числа. Или наоборот.


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

  • Искомое_значение($A2) — это то значение из одной таблицы, которые мы ищем в другой таблице. Т.е. для первой записи второй таблицы это будет Петров С.А.. Здесь можно указать либо непосредственно текст критерия(в этом случае он должен быть в кавычках — =ВПР(«Петров С.А»;Лист1!$A$1:$C$4;3;0), либо ссылку на ячейку, с данным текстом(как в примере функции). Есть небольшой нюанс: так же можно применять символы подстановки: «*» и «?». Это очень удобно, если необходимо найти значения лишь по части строки. Например, можно не вводить полностью «Петров С.А», а ввести лишь фамилию и знак звездочки — «Петров*». Тогда будет выведена любая запись, которая начинается на «Петров». Если же надо найти запись, в которой в любом месте строки встречается фамилия «Петров», то можно указать так: «*петров*». Если хотите найти фамилию Петров и неважно какие инициалы будут у имени-отчества(если ФИО записаны в виде Иванов И.И.), то здесь в самый раз такой вид: «Иванов ?.?.».
    Часто необходимо для каждой строки указать свое значение(в столбце А Фамилии и надо их все найти). В таком случае всегда указываются ссылки на ячейки столбца А. Например, в ячейке A2 записано: Иванов. Так же известно, что Иванов есть в другой таблице, но после фамилии могут быть записаны и имя и отчество(или еще что-то). Но нам нужно найти только строку, которая начинается на фамилию. Тогда необходимо записать следующим образом: A2&»*». Эта запись будет равнозначна «Иванов*». В A2 записано Иванов, амперсанд(&) используется для объединения в одну строку двух текстовых значений. Звездочка в кавычках (как и положено быть тексту внутри формулы). Таким образом и получаем:
    A2&»*» =>
    «Иванов»&»*» =>
    «Иванов*»
    А полная формула в итоге будет выглядеть так: =ВПР(A2&»*»;Лист1!$A$1:$C$4;3;0)
    Очень удобно, если значений для поиска много.
    Если надо определить есть ли хоть где-то слово в строке, то звездочки ставим с обеих сторон: «*»&A1&»*»
  • Таблица(Лист1!$A$1:$C$4) — указывается диапазон ячеек, в первом столбце которых будет просматриваться аргумент Искомое_значение. Диапазон должен содержать данные от первой ячейки с данными до самой последней. Это не обязательно должен быть указанный в примере диапазон. Если строк 100, то Лист1!$A$2:$C$100. Диапазон в аргументе таблица всегда должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4).
  • Номер_столбца(3) — указывается номер столбца в аргументе Таблица, значения из которого нам необходимо записать в итоговую ячейку в качестве результата. В примере это Дата принятия — т.е. столбец №3. Если бы нужен был отдел, то необходимо было бы указать номер столбца 2, а если бы нам понадобилось просто сравнить есть ли фамилии одной таблицы в другой, то можно было бы указать и 1. Номер столбца всегда указывается числом и не должен быть больше числа столбцов в аргументе Таблица.

    если аргумент Таблица имеет слишком большое кол-во столбцов и необходимо вернуть результат из последнего столбца, то совсем необязательно высчитывать их количество. Можно использовать формулу, которая подсчитывает количество столбцов в указанном диапазоне:  =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ(Лист1!$A$1:$C$4);0). К слову в данном случае Лист1! тоже можно убрать, т.к. функция ЧИСЛОСТОЛБ просто подсчитывает количество столбцов в переданном ей диапазоне и неважно на каком он листе: =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ($A$1:$C$4);0).

  • Интервальный_просмотр(0) — очень интересный аргумент. Может быть равен либо ИСТИНА либо ЛОЖЬ. Так же допускается указать 1 или 0. 1 = ИСТИНА, 0 = ЛОЖЬ. Если в ВПР указать данный параметр равный 0 или ЛОЖЬ, то будет происходить поиск точного соответствия заданному Искомому_значению. Это не имеет никакого отношения к знакам подстановки(«*» и «?»). Если же использовать 1 или ИСТИНА, то…Совсем в двух словах не объяснить. Если вкратце — ВПР будет искать наиболее похожее значение, подходящее под Искомомое_значение. Иногда очень полезно. Правда, если использовать данный параметр, то необходимо, чтобы список в аргументе Таблица был отсортирован по возрастанию. Обращаю внимание на то, что сортировка необходима только в том случае, если аргумент Интервальный_просмотр равен ИСТИНА или 1. Если же 0 или ЛОЖЬ — сортировка не нужна. Этот аргумент необходимо использовать осторожно — не стоит указывать 1 или ИСТИНА, если нужно найти точное соответствие и уж тем более не стоит использовать, если не понимаете принцип его работы.
    Подробнее про работу ВПР с интервальным просмотром, равным 1 или ИСТИНА можно ознакомиться в статье ВПР и интервальный просмотр(range_lookup)

При работе с ВПР всегда важно помнить три вещи:
  • Таблица всегда должна начинаться с того столбца, в котором ищем Искомое_значение. Т.е. ВПР не умеет искать значение во втором столбце таблицы, а значение возвращать из первого. В лучшем случае ничего найдено не будет и получим ошибку #Н/Д(#N/A), а в худшем результат будет совсем не тот, который должен быть
  • аргумент Таблица должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4). Это и есть закрепление(если точнее, то это называется абсолютной ссылкой на диапазон). Как это делается. Выделяете текст ссылки и жмете клавишу F4 до тех пор, пока не увидите, что и перед обозначением имени столбца и перед номером строки не появились доллары. Если этого не сделать, то при копировании формулы из одной ячейки в остальные аргумент Таблица будет «съезжать» и результат может быть совсем не таким, какой ожидался(в лучшем случае получите ошибку #Н/Д(#N/A)
  • номер_столбца не должен превышать общее кол-во столбцов в аргументе таблица, а сама Таблица соответственно должна содержать столбцы от первого(в котором ищем) до последнего(из которого необходимо возвращать значения). В примере указана Лист1!$A$1:$C$4 — всего 3 столбца(A, B, C). Значит не получится вернуть значение из столбца D(4), т.к. в таблице только три столбца. Т.е. если мы запишем формулу так: =ВПР($A2;Лист1!$A$1:$C$4;4;0) — мы получим ошибку #ССЫЛКА!(#REF!).
    Если аргументом Таблица указан диапазон $B$1:$C$4 и необходимо вернуть данные из столбца С, то правильно будет указать номер столбца 2. Т.к. аргумент Таблица($B$1:$C$4) содержит только два столбца — В и С. Если же попытаться указать номер столбца 3(каким по счету он является на листе), то получим ошибку #ССЫЛКА!(#REF!), т.к. третьего столбца в указанном диапазоне просто нет.

Многие наверняка заметили, что на картинке у меня попутаны отделы для ФИО(в обеих таблицах ФИО относятся к разным отделам). Это не ошибка записи. В прилагаемом к статье примере показано, как можно одной формулой подставить и отделы и даты, не меняя вручную аргумент Номер_столбца: =ВПР($A2;Лист1!$A$1:$C$4;СТОЛБЕЦ();0). Такой подход сработает, если в обеих таблицах одинаковый порядок столбцов.


Как избежать ошибки #Н/Д(#N/A) в ВПР?

 
Еще частая проблема — многие не хотят видеть #Н/Д результатом, если совпадение не найдено. Это можно обойти при помощи специальных функций.
Для пользователей Excel 2003 и старше:

=ЕСЛИ(ЕНД(ВПР($A2;Лист1!$A$1:$C$4;3;0));»»;ВПР($A2;Лист1!$A$1:$C$4;3;0))
=IF(ISNA(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)),»»,VLOOKUP($A2,Лист1!$A$1:$C$4,3,0))

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

ЕСЛИОШИБКА(IFERROR)

:

=ЕСЛИОШИБКА(ВПР($A2;Лист1!$A$1:$C$4;3;0);»»)
=IFERROR(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0);»»)

Подробнее про различие между использованием ЕСЛИ(ЕНД и ЕСЛИОШИБКА я разбирал в статье: Как в ячейке с формулой вместо ошибки показать 0
Но я бы не рекомендовал использовать

ЕСЛИОШИБКА(IFERROR)

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

  • искомое значение состоит более чем из 255 символов(решение этой проблемы приведено ниже в этой статье: Работа с критериями длиннее 255 символов)
  • искомое значение является числом с большим кол-вом знаков после запятой. Excel не может правильно воспринимать такие числа и в итоге ВПР может вернуть ошибку. Правильным решением здесь будет округлить искомое значение хотя бы до 4-х или 5-ти знаков после запятой(конечно, если это допустимо):
    =ВПР(ОКРУГЛ($A2;5);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(ROUND($A2,2),Лист1!$A$1:$C$4,3,0)
  • искомое значение содержит специальные или непечатаемые символы.
    В этом случае придется либо избавиться от непечатаемых символов в искомом аргументе:
    =ВПР(ПЕЧСИМВ($A2);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(CLEAN($A2),Лист1!$A$1:$C$4,3,0)
    либо добавить перед всеми специальными символами(такими как звездочка или вопр.знак) знак тильды(~), чтобы сделать эти знаки просто знаками, а не знаками специального значения(так же работа со специальными(служебными) символами описывалась в статье: Как заменить/удалить/найти звездочку). Добавить символ перед знаком той же тильды можно при помощи функции ПОДСТАВИТЬ(SUBSTITUTE):
    =ВПР(ПОДСТАВИТЬ($A2;»~»;»~~»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(A2,»~»,»~~»),Лист1!$A$1:$C$4,3,0)
    Если необходимо добавить тильду сразу перед несколькими знаками, то делает это обычно так(на примере подстановки одновременно для тильды и звездочки):
    =ВПР(ПОДСТАВИТЬ(ПОДСТАВИТЬ($A2;»~»;»~~»);»*»;»~*»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(SUBSTITUTE(A2,»~»,»~~»),»*»,»~*»),Лист1!$A$1:$C$4,3,0)

Как при помощи ВПР искать значение по строке, а не столбцу?

 
На самом деле ответ будет коротким — ВПР всегда ищет сверху вниз. Слева направо она не умеет. Но зато слева направо умеет искать её сестра ГПР(HLookup) — Горизонтальный

ПР

осмотр.
ГПР ищет заданное значение(аргумент

искомое_значение

) в первой строке указанного диапазона(аргумент

таблица

) и возвращает для него значение из строки таблицы, указанной аргументом номер_строки. Поиск значения всегда происходит слева направо и заканчивается сразу, как только значение найдено. Если значение не найдено, функция возвращает значение ошибки

#Н/Д(#N/A)

.
Если надо найти значение «Иванов» в строке 2 и вернуть значение из строки 5 в таблице

A2:H10

, то формула будет выглядеть так:

=ГПР(«Иванов»;$A$2:$H$10;5;0)
=HLOOKUP(«Иванов»,$A$2:$H$10,5,0)

Все правила и синтаксис функции точно такие же, как у ВПР:
-в искомом значении можно применять символы астерикса(*) и вопр.знака(?) — «Иванов*»;
-таблица должна быть закреплена —

$A$2:$H$10

;
-интервальный просмотр работает по тому же принципу(0 или ЛОЖЬ точный просмотр слева-направо, 1 или ИСТИНА — интервальный).


Решение при помощи ПОИСКПОЗ

 
Общий принцип работы

ПОИСКПОЗ(MATCH)

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

Искомое_значение

в аргументе

Просматриваемый_массив

и в качестве результата выдает номер позиции найденного значения в

Просматриваемом_массиве

. Именно номер позиции, а не само значение. Если бы мы хотели применить её для таблицы выше, то она была бы такой:

=ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0)
=MATCH($A2,Лист1!$A$1:$A$4,0)

  • Искомое_значение($A2) — непосредственно значение или ссылка на ячейку с искомым значением. Если опираться на пример выше — то это ФИО. Здесь все ровно так же, как и с ВПР. Так же допустимы символы подстановки * и ? и ровно в таком же исполнении.
  • Просматриваемый_массив(Лист1!$A$1:$A$4) — указывается ссылка на столбец, в котором необходимо найти искомое значение. В отличии от той же ВПР, где указывается целая таблица, это должен быть именно один столбец, в котором мы собираемся искать Искомое_значение. Если попытаться указать более одного столбца, то функция вернет ошибку.Справедливости ради надо отметить, что можно указать либо столбец, либо строку
  • Тип_сопоставления(0) — то же самое, что и Интервальный_просмотр в ВПР. С теми же особенностями. Отличается разве что возможностью поиска наименьшего от искомого или наибольшего.

С основным разобрались. Но ведь нам надо вернуть не номер позиции, а само значение. Значит ПОИСКПОЗ в чистом виде нам не подходит. По крайней мере одна, сама по себе. Но если её использовать вместе с функцией ИНДЕКС(INDEX)(которая возвращает из указанного диапазона значение на пересечении заданных строки и столбца) — то это то, что нам нужно и даже больше.
=ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2)
Такая формула результатом вернет то же, что и ВПР.

Аргументы функции ИНДЕКС
Массив(Лист1!$A$2:$C$4). В качестве этого аргумента мы указываем диапазон, из которого хотим получить значения. Может быть как один столбец, так и несколько. В случае, если столбец один, то последний аргумент функции указывать не обязательно или он всегда будет равен 1(столбец-то всего один). К слову — данный аргумент может совершенно не совпадать с тем, который мы указываем в аргументе Просматриваемый_массив функции ПОИСКПОЗ.

Далее идут Номер_строки и Номер_столбца. Именно в качестве Номера_строки мы и подставляем ПОИСКПОЗ, которая возвращает нам номер позиции в массиве. На этом все и строится. ИНДЕКС возвращает значение из Массива, которое находится в указанной строке(Номер_строки) Массива и указанном столбце(Номер_столбца), если столбцов более одного. Важно знать, что в данной связке кол-во строк в аргументе Массив функции ИНДЕКС и кол-во строк в аргументе Просматриваемый_массив функции ПОИСКПОЗ должно совпадать. И начинаться с одной и той же строки. Это в обычных случаях, если не преследуются иные цели.
Так же как и в случае с ВПР, ИНДЕКС в случае не нахождения искомого значения возвращает #Н/Д. И обойти подобные ошибки можно так же:
Для всех версий Excel(включая 2003 и раньше):
=ЕСЛИ(ЕНД(ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0));»»;ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$2:$A$4;0);2))
Для версий 2007 и выше:
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2);»»)


Работа с критериями длиннее 255 символов

 
Есть у ИНДЕКС-ПОИСКПОЗ и еще одно преимущество перед ВПР. Дело в том, что ВПР не может искать значения, длина строки которых содержит более 255 символов. Это случается редко, но случается. Можно, конечно, обмануть ВПР и урезать критерий:

=ВПР(ПСТР($A2;1;255);ПСТР(Лист1!$A$1:$C$4;1;255);3;0)

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

Поэтому лучше использовать такую хитрую формулу:
=ИНДЕКС(Лист1!$A$1:$C$4;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;Лист1!$A$1:$A$4=$A2;0));2)
Здесь я в формулах использовал одинаковые диапазоны для удобочитаемости, но в примере для скачивания они различаются от указанных здесь.
Сама формула построена на возможности функции СУММПРОИЗВ преобразовывать в массивные вычисления некоторых функций внутри неё. В данном случае ПОИСКПОЗ ищет позицию строки, в которой критерий равен значению в строке. Подстановочные символы здесь применить уже не получится.


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

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

Скачать пример

  Tips_All_VLookUp.xls (26,0 KiB, 17 437 скачиваний)

Так же см.:
ВПР и интервальный просмотр(range_lookup)
ВПР по двум и более критериям
ВПР с возвратом всех значений
ВПР с поиском по нескольким листам
ВПР_МН
ВПР_ВСЕ_КНИГИ
Как заменить/удалить/найти звездочку?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Понравилась статья? Поделить с друзьями:
  • Если долго загружается word
  • Если документ word сохранен в формате docx
  • Если для нескольких условий одновременно в excel
  • Если для диапазона значений excel примеры
  • Если для диапазона значений excel пример