Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца

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

Пусть в диапазоне А4:В15 имеется таблица с перечнем сотрудников и их зарплат (фамилии сотрудников не повторяются).

Задача

Требуется, введя в ячейку D4 фамилию сотрудника, вывести в другой ячейке его зарплату. Решение приведено в файле примера.

Решение

Алгоритм решения задачи следующий:

  • находим в списке кодов значение, совпадающее с критерием;
  • определяем номер позиции (строку) найденного значения;
  • выводим значение из соседнего столбца той же строки.

Решение практически аналогично поиску числового значения из статьи Поиск позиции ЧИСЛА с выводом соответствующего значения из соседнего столбца. Для этого типа задач в EXCEL существует специальная функция ВПР(), но для ее решения можно использовать и другие функции (про функцию ВПР() см. эту статью).

Решение

Если несколько значений удовл. критерию

=ВПР($D$4;A4:B15;2;ЛОЖЬ)

берется первое сверху

=ИНДЕКС(B4:B15; ПОИСКПОЗ($D$4;A4:A15;0);1)

берется первое сверху

=СМЕЩ($B$3; ПОИСКПОЗ($D$4;$A$4:$A$15;0);0;1;1)

берется первое сверху

=ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2))

берется последнее сверху

=ПРОСМОТР($D$4;$A$4:$A$15;$B$4:$B$15)

если столбец отсортирован по возрастанию, то берется последнее сверху, если нет, то результат непредсказуем

=СУММПРОИЗВ((A4:A15=D4)*(B4:B15))

соответствующие значения суммируются

=СУММЕСЛИ(A4:A15;D4;B4:B15)

соответствующие значения суммируются

=БИЗВЛЕЧЬ(A3:B15;2;F15:F16)

возвращается ошибка #ЧИСЛО!

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

Задача подразумевает, что диапазон поиска содержит неповторяющиеся значения. В самом деле, если критерию удовлетворяет сразу несколько значений, то из какой строки выводить соответствующее ему значение из соседнего столбца? Если все же диапазон поиска содержит повторяющиеся значения, то второй столбец из таблицы выше поясняет какое значение будет выведено (обычно возвращается первое значение, удовлетворяющее критерию).

Если диапазон поиска содержит повторяющиеся значения и требуется вернуть не одно, а все значения, удовлетворяющие критерию, то читайте статью Запрос на основе Элементов управления формы.

Совет: Если в диапазон поиска постоянно вводятся новые значения, то для исключения ввода дубликатов следует наложить определенные ограничения (см. статью Ввод неповторяющихся значений). Для визуальной проверки наличия дубликатов можно использовать Условное форматирование (см. статью Выделение повторяющихся значений).

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

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 4.7 (3 оценок)