1

Мне нужна помощь, чтобы объединить 3 условия в Excel, если (и) формула т.е.

Если принтер = ABC и картридж = A1000 и бумага = глянец, тогда цена = 100

(и тогда, очевидно, картридж может быть A2000 для другого цвета или бумага может быть Мэтт)

я пробовал

=IF(AND(C10="ABC",C16="A1000",C24="Gloss"),100, IF(AND(C10="ABC",C16="A1000",C24="Matt"),90, IF(AND(C10="ABC",C16="A2000",C24="Gloss"),110,0)))

Пользователь выберет принтер, а также картридж и бумагу из выпадающего списка фильтров.

Кто-нибудь может мне помочь, пожалуйста!

2 ответа2

1

Вы пытаетесь втиснуть множество комбинаций в одно утверждение IF . Существует ограничение на количество вложений, но обычно оно больше, чем нужно (я бы подумал, что с 18 все в порядке).

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

Сначала вам понадобится таблица соответствия:

  1. Создайте таблицу где-нибудь со следующими столбцами: Ключ, Принтер, Картридж, Бумага и Цена
  2. В столбце Ключ вставьте следующую формулу: =[@Printer]&[@Cartridge]&[@Paper] *
  3. Заполните таблицу со всеми комбинациями и ценами
  4. Назовите таблицу PrintingOptionsLookups Таблица


Далее, куда вы бы поместили свою формулу IF, вместо этого используйте эту формулу:

=VLOOKUP(CONCATENATE(C10,C16,C24),PrintingOptionsLookups,5,FALSE)


Это сворачивает выборки в одно значение, а затем ищет совпадение в столбце «Ключ», а затем возвращает цену. Таким образом, вы можете добавлять товары и изменять цены в будущем, не изменяя формулу.


* Для таких таблиц и ссылок требуется Excel 2007 или более поздняя версия.

0

Вы также можете использовать SUMPRODUCT. Как говорит ClockeWork, в Excel 2007 и выше вы можете использовать таблицу. (SUMPRODUCT должен работать в более ранних версиях Excel.) См. Http://www.excelhero.com/blog/2010/01/the-venerable-sumproduct.html для превосходного объяснения SUMPRODUCT.

Используя таблицу CLockeWork с именами столбцов, формула будет

= SUMPRODUCT(PrintingOptionsLookups [Цена] * (MyPrinter = PrintingOptionsLookups [Принтер])* * (MyCartridge = PrintingOptionsLookups [Картридж])* * (MyPaper = PrintingOptionsLookups [Бумага]))

Смотрите рисунок ниже.

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