Статья Автор: Деникина Н.В., Деникин А.В.

ВПР подтягивает данные

Микропаттерн 2: ВПР

Как только в вопросе появляется «кефира», «Центрального района» или «стоимость» — одного листа мало. Нужны названия с «Товара» и районы с «Магазина».

Работаем в том же файле 3-1-produkty.ods, на листе «Движение товаров».

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

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

Куда именно смотрит ВПР

Вот лист «Товар» целиком. Двадцать строк, и первый столбец — артикул: именно по нему ВПР и ищет.

ABCDEF1АртикулОтделНаименование товараЕд. изм.Кол-во в упак.Цена за упак.2100МолочныйКефир «Домик» 2,5%мл900783101МолочныйКефир «Луговой» 1%мл500544102МолочныйКефир «Простоквашино» 3,2%мл930965103МолочныйМолоко «Луговое» 2,5%мл1000826104МолочныйМолоко «Домик» 3,2%мл950917105МолочныйСметана «Луговая» 20%г300968106МолочныйТворог «Домик» 5%г200749107БакалеяСахар-песокг10008810108БакалеяКрупа гречневаяг80011211109БакалеяКрупа рисоваяг9009812110БакалеяМакароны «Спагетти»г4506513111БакалеяМука пшеничнаяг200013414112НапиткиКофе «Жокей» молотыйг10024015113НапиткиКофе «Арабика» зерновойг25056016114НапиткиЧай «Ассам» листовойг10021517115НапиткиСок «Яблочный»мл100011918116КондитерскийПеченье «Юбилейное»г30010519117КондитерскийКонфеты «Ласточка»г25017820118ХлебныйХлеб «Бородинский»г4004821119ХлебныйБатон «Нарезной»г35042подсвечена строка с артикулом 113 — он стоит в первой операции главного листа

И лист «Магазин», тоже целиком. Первый столбец — ID магазина.

ABC1ID магазинаРайонАдрес21Центральныйул. Ленина, д. 432Заречныйул. Садовая, д. 543Нагорныйпр. Мира, д. 654Центральныйул. Полевая, д. 765Заречныйул. Ленина, д. 876Нагорныйул. Садовая, д. 987Центральныйпр. Мира, д. 1098Заречныйул. Полевая, д. 11109Нагорныйул. Ленина, д. 121110Центральныйул. Садовая, д. 131211Заречныйпр. Мира, д. 141312Нагорныйул. Полевая, д. 15подсвечен магазин №5 — он тоже из первой операции

Теперь понятно, что делать. Встаём в первую свободную ячейку главного листа — это G2 — и пишем:

G2=ВПР(D2; Товар.A:F; 3; ЛОЖЬ)ABCDEFG1ID оп.ДатаIDмагАртикулКол-во уп.Тип оп.Наименование2101.10.2024511326Поступление3201.10.20241110651Продажа4301.10.2024210070Продажа5401.10.20241211425Поступление6501.10.2024411863Продажа7601.10.2024310967ПродажаD2 — артикул из этой же строки

По кусочкам:

  • D2 — что ищем: артикул из текущей строки;
  • Товар.A:F — где ищем: лист «Товар», столбцы с A по F. Артикул там первый, и это обязательно: ВПР всегда ищет только в первом столбце диапазона;
  • 3 — что вернуть: третий столбец, то есть наименование;
  • ЛОЖЬ — искать точное совпадение. Без этого ВПР ищет приблизительно и на неотсортированных данных врёт.

В Excel лист отделяется восклицательным знаком: Товар!A:F. В LibreOffice — точкой. Вместо ЛОЖЬ можно писать 0.


Тянем всё, что упомянуто в вопросе

Одной формулой не обойтись. Смотрим на вопрос и подтягиваем каждое поле, которое в нём названо. Кефир — это наименование. Центральный район — это район. Стоимость — это цена.

G2:  =ВПР(D2; Товар.A:F; 3; ЛОЖЬ)        наименование
H2:  =ВПР(D2; Товар.A:F; 2; ЛОЖЬ)        отдел
I2:  =ВПР(D2; Товар.A:F; 6; ЛОЖЬ)        цена за упаковку
J2:  =ВПР(C2; Магазин.A:C; 2; ЛОЖЬ)      район
K2:  =E2*I2                              стоимость операции

Выделяем G2:K2, тянем за уголок вниз до последней строки — и главный лист превращается вот в это:

ABCDEFGHIJK1ID оп.ДатаIDмагАртикулКол-во уп.Тип оп.Наименование товараОтделЦенаРайонСтоимость2101.10.2024511326ПоступлениеКофе «Арабика» зерновойНапитки560Заречный145603201.10.20241110651ПродажаТворог «Домик» 5%Молочный74Заречный37744301.10.2024210070ПродажаКефир «Домик» 2,5%Молочный78Заречный54605401.10.20241211425ПоступлениеЧай «Ассам» листовойНапитки215Нагорный53756501.10.2024411863ПродажаХлеб «Бородинский»Хлебный48Центральный30247601.10.2024310967ПродажаКрупа рисоваяБакалея98Нагорный65668701.10.2024711874ПоступлениеХлеб «Бородинский»Хлебный48Центральный35529801.10.202471045ПоступлениеМолоко «Домик» 3,2%Молочный91Центральный45510901.10.2024811879ПродажаХлеб «Бородинский»Хлебный48Заречный3792111001.10.2024811241ПоступлениеКофе «Жокей» молотыйНапитки240Заречный9840итоговая заготовка: в каждой строке есть всё нужное, прыгать по листам больше не придётся

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

Обрати внимание на K: стоимость это количество упаковок, умноженное на цену за упаковку. Первая строка — 26 × 560 = 14560 рублей.


Проверь себя


Что означает ЛОЖЬ в конце формулы ВПР?


Почему в Товар.A:F диапазон начинается именно со столбца A?


Нужен район магазина. Какая формула?

Attached files
3-1-produkty.ods
Печать