Форум по VBA и MS Office

VBA, Excel => Работа в программе "Excel" => Тема начата: Посетитель 15.06.2026 от 15 июня 2026, 16:29

Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 15 июня 2026, 16:29
Всем привет. Можете помочь?
нужно заполнить в левой таблице желтые ячейки "цена" в зависимости от участка, изделия и количества (больше определенного значения - одни цены если меньше то другая)                                                                       
Название: поиск позиции по множеству условий
Отправлено: Администратор от 15 июня 2026, 16:46
Формула должна брать из столбца 1 название участка и должна искать его в строке 1?
Или в формуле прямо так и писать: для уч1 - столбец 9, для уч2 - столбцы 10, 11 и т.д?
Название: поиск позиции по множеству условий
Отправлено: Администратор от 15 июня 2026, 16:48
Например, берём из столбца 1 "уч2" и ищем в строке 1. Нашли столбец 10. Дальше что? Нужно посмотреть, строку 2? И формула должна расшифровать этот текст: уч2 <250?
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:34
В учебном заведении ?? ))) НЕЕТ! не студент ))
Нужно посчитать сколько денег заработал каждый работник за смену.
Данные "дата, участок, работник, изделие, количество" заполняются в ручную списком. Образец Выше скинул.
В конце каждой строки нужно записать сумму , которую заработал работник за 1 смену.
Каждый работник работает только на своем участке. Запись делается максимум 1 раз в сутки. Для каждого участка стоимость обработки изделия разная и зависит еще и от количества выработки. Например если работник выполнил более 250 изделий, то оплата за изделие больше. на некоторых участках если больше 200 изделий цена больше.
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 14:40
Посмотрите ещё ответы #1, #2. В них есть вопросы. Вы на них не ответили.
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:45
зеленая таблица это цены. Цены иногда меняются. Наименований изделий около 100 шт.
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 14:50
Второй файл не добавил ясности. Посмотрите ответ #2. Я так понимаю, что формула должна искать участок. Нужно понять, из какого столбца взять данные, если для участка несколько столбцов.
Если бы для участка был один столбец, тогда нет вопросов.
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:50
Да, номер (наименование участка) и наименование изделия определяет цену в зависимости больше или меньше 250 шт сделано
если меньше 250 столбец с ценами один для этого участка
если = или больше 250 шт то столбец с ценами другой для этого же участка
так же и на других участках
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 14:52
Формула должна читать в правой таблице строку 2: уч2 <250, уч3<200 и т.д?
Формула должна извлечь из строки 2 число и знак "<" и ">"?
И формула должна сделать вывод, из какого столбца взять данные?
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:53
Если бы для участка был один столбец, тогда нет вопросов.

В этом и проблема у меня.
для каждого участка 2 и более условия. Есть еще участок где более 500 шт тоже жена меняется и далее более 1000 шт тоже цена меняется. Ну это я уже думал сам допишу по аналогии (образцу)
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:54
 формула должна сделать вывод, из какого столбца взять данные

именно так
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 14:54
На первый взгляд из правой таблицы, из строки 2 можно убрать название участка.
Сейчас у вас так:
уч2 <250

Оставить так:
<250

Это уже на первый взгляд уменьшит задачу.
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:55
это как работа ВПР только с множеством условий
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 14:56
На первый взгляд из правой таблицы, из строки 2 можно убрать название участка.
Сейчас у вас так:
уч2 <250

Оставить так:
<250

Это уже на первый взгляд уменьшит задачу.


ВОООБЩЕ БЕЗ ПРОБЛЕМ  я эту строку указал только для наглядности
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 14:58
Но в этой строке ведь находятся необходимые данные. Если этой строки не будет, то как тогда формуле понять, какой столбец выбрать?
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 15:01
Для одного участка может быть только два столбца или может быть и больше?
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 15:01
.
Название: поиск позиции по множеству условий
Отправлено: Посетитель 15.06.2026 от 16 июня 2026, 15:02
Для одного участка может быть только два столбца или может быть и больше?

может быть и больше

Спасибо
Название: поиск позиции по множеству условий
Отправлено: Администратор от 16 июня 2026, 15:34
Используется формула массива.
Если у вас старая версия Офиса, то после записи формулы нажмите не Enter, а сочетание Ctrl+Shift+Enter, чтобы вокруг формулы появились фигурные скобки {}.
Если у вас новая версия Офиса, то формула вставляется клавишей Enter.

=ИНДЕКС($I$1:$N$6;ПОИСКПОЗ(B2;$H$1:$H$6;0);ПОИСКПОЗ(1;($I$1:$N$1=A2)*(C2<=$I$2:$N$2);0))

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

В этой формуле формула просматривает 100 строк и столбцы H:P:
=ИНДЕКС($H$1:$P$100;ПОИСКПОЗ(B2;$H$1:$H$100;0);ПОИСКПОЗ(1;($H$1:$P$1=A2)*(C2<=$H$2:$P$2);0))

В правой таблице, в строке 2 действует правило: искомое число меньше или равно числу, указанному в строке 2.