У меня есть такая таблица:

+-----------+-----------+------------+------------+----+
| Size from | Size till | Price From | Price Till | Product ID |
+-----------+-----------+------------+------------+----+
|        50 |        52 |       10.0 |       15.0 |  1 |
|        50 |        52 |       16.0 |       20.0 |  2 |
|        48 |        50 |       12.0 |       16.0 |  3 |
|        50 |        52 |        8.0 |        9.0 |  4 |
+-----------+-----------+------------+------------+----+

Теперь в моей основной таблице у меня есть только 2 строки: A1 = размер, B1 = цена, C1 = идентификатор продукта результата

А1 и В1 заполняются мной.

У меня проблемы с поиском правильной формулы для определения идентификатора продукта. Я хочу найти там идентификатор. Размер находится между "Размер от", "Размер до" и Цена между "Цена от", "Цена до". На данный момент я сделал это с несколькими IF(A1=<Table2!A1 & A1=>Table2!A2 & B2 ...

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

2 ответа2

1

Это зависит от того, как значения ячеек в столбце A и столбце B влияют на идентификатор продукта. Какие характеристики влияют на идентификатор продукта во всех случаях?

Например, если идентификатор продукта - это A, умноженное на B плюс определенная константа, вы можете написать формулу, например:

=$A1*$B1+42 например, делает это. Вы можете щелкнуть по углу ячейки и перетащить в ячейки ниже, чтобы скопировать формулу в следующие строки. (Опять же, вам придется изменить это в соответствии с вашими потребностями, я не знаю вашей точной ситуации.) С точки зрения программирования, это разница между выполнением:

if (x == 0) y = 3;
if (x == 1) y = 4;
if (x == 2) y = 5;

... и делаю ...

y = x + 3;

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

1

Для ваших критериев запроса требуется формула поиска, которая проверяет критерии в пределах диапазона.

Чтобы решить эту проблему, я использовал ваши образцы данных. Проверьте это ниже.

Диапазон данных: A54: E57.

Диапазон критериев: A62: B62.

Критерии: размер 49 и цена 15

Формула находится в ячейке D62.

=LOOKUP(2,1/($A$54:$A$57<=A62)/($B$54:$B$57>=A62)/($C$54:$C$57<=B62)/($D$54:$D$57>=B62),($E$54:$E$57))

NB. Настройте диапазон данных в соответствии с вашими потребностями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .