3 умови в Excel, якщо (і) формула


1

Мені потрібна допомога поєднати 3 умови в Excel, якщо (і) формула, тобто.

Якщо принтер = ABC і Cartridge = A1000 і Paper = Gloss, то ціна = 100

(і тоді очевидно, що картридж може бути A2000 для іншого кольору або папір може бути Matt)

Я намагався

=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))) наприклад

Користувач вибере принтер, картридж та папір із фільтрів, що випадають.

Хто-небудь може мені допомогти?


Це не працює? Запропонована вами формула мені добре виглядає. Якщо вам потрібна допомога з налагодженням, я зазвичай розбиваю формулу на три комірки, щоб побачити результати кожного наступного оператора if. Можливо, ви можете сказати нам, що ви очікуєте, що трапиться, і що ви бачите, що відбувається, що не так. Принаймні мені це не зовсім зрозуміло.
N8sBug

Формула стає досить довгою, оскільки є 3 принтери та 2 варіанти картриджів на кожному, і ви можете друкувати на блиску чи матовості для кожного принтера та картриджа. Чи знаєте ви, чи існує обмеження на кількість if (і) s, які ви можете використовувати у формулі? Інакше доведеться розділити його, як було запропоновано.
Джоанна

:) У мене особисто було 20 висловлювань, але я розбив їх на кілька стовпців, макс, який я знайшов, становить приблизно 7-8 ... Отже, ні, я не знаю межі (хоча, я " я впевнений, що існує). Якщо вам потрібно розбити формулу на кілька стовпців, щоб спростити це.
N8sBug

1
Допоможе дізнатися, яку версію Excel ви використовуєте; Є кілька способів перетину цього способу, але вони залежать від версії.
CLockeWork

Якщо список стає занадто довгим, VBa може бути варіантом, він залишається в стороні, і якщо він налаштований, його слід легко оновити. Але, це VBa і тому може відлякати деяких людей
Дейв

Відповіді:


1

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

Справжня проблема полягає в тому, що такий спосіб це означає, що ви не можете змінити ціни або додати варіанти, не змінюючи формули. На щастя, вирішити це легко.

Спочатку вам знадобиться таблиця пошуку:

  1. Складіть десь таблицю з наступними стовпцями: ключ, принтер, картридж, папір та ціна
  2. У стовпчик Key вставте цю формулу: =[@Printer]&[@Cartridge]&[@Paper]*
  3. Наповніть таблицю усіма комбінаціями та цінами
  4. Назвіть таблицю PrintingOptionsLookups Таблиця


Далі, куди ви розмістите формулу IF, замість цього використовуйте формулу:

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


Це об'єднає виділення в єдине значення, а потім знайдіть відповідність у стовпці Key, а потім поверніть ціну. Таким чином ви можете додавати продукти та змінювати ціни в майбутньому, не змінюючи формули.


* Таблиці та довідники потребують 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 [Printer]) * (MyCartridge = PrintingOptionsLookups [Cartridge]) * (MyPaper = PrintingOptionsLookups [Paper]))

Дивіться графіку нижче.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.