Решён
Как в Excel вернуть значение ячейки из диапазона по условию?

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

Пробовал через IF перебирать, но строк 500 штук, это нереально. Подскажите какую формулу использовать чтобы вернуть значение ячейки из диапазона по совпадению с искомым значением. Excel 2019.

Решение
52
Эксперт • 1 ответ

ВПР тебе в помощь:

=ВПР(искомое_значение; диапазон_таблицы; номер_столбца; 0)

Для твоего случая, если артикулы в A2:A501 и цены в B2:B501, а искать будешь по значению в ячейке D1:

=ВПР(D1; A2:B501; 2; 0)

Последний аргумент 0 означает точное совпадение. Это важно.

Аватар Сергей Петрович

Работает! Спасибо огромное, я даже не знал что такая функция есть

16
Участник • 1 ответ

Если у тебя Excel 365 или 2021, есть еще XLOOKUP (ПРОСМОТРX на русском), она вообще заменяет и ВПР и ИНДЕКС+ПОИСКПОЗ сразу:

=ПРОСМОТРX(D1; A2:A501; B2:B501)

Проще некуда. Но в Excel 2019 этой функции нет, так что для твоей версии ВПР или INDEX/MATCH.

30
Участник • 2 ответа

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

Если структура таблицы другая или может поменяться, советую сразу привыкать к INDEX+MATCH, это гораздо гибче:

=ИНДЕКС(B2:B501; ПОИСКПОЗ(D1; A2:A501; 0))

Логика: ПОИСКПОЗ находит позицию (строку) артикула в столбце A, а ИНДЕКС по этой позиции вытаскивает значение из столбца B. Работает в любом направлении, в любой структуре таблицы.

5
Эксперт • 1 ответ

Можно еще через СУММЕСЛИ если значения числовые и уникальные:

=СУММЕСЛИ(A2:A501; D1; B2:B501)

Не совсем по назначению функции, но работает и многие так делают.

0
Эксперт • 2 ответа

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

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.