Виклик формули - кілька критеріїв АБО - Головоломка

Зміст

Одна проблема, яка часто виникає в Excel, - це підрахунок чи підсумовування на основі кількох умов АБО. Наприклад, можливо, вам потрібно проаналізувати дані та підрахувати замовлення в Сіетлі чи Денвері для елементів червоного, синього чи зеленого кольорів? Це може бути напрочуд хитро, тому, природно, це непоганий виклик!

Змагання

Дані нижче представляють замовлення, одне замовлення на рядок. Є три окремі проблеми.

Які формули у F9, G9 та H9 правильно підраховуватимуть замовлення за таких умов:

  1. F9 - Футболка або балахон
  2. G9 - (Футболка або балахон) та (Червоний, Синій або Зелений)
  3. H9 - (Футболка чи балахон) та (Червоний, Синій або Зелений) та (Денвер чи Сіетл)

Зелене затінення застосовується з умовним форматуванням і вказує відповідні значення для кожного набору критеріїв АБО у кожному стовпці.

Для вашої зручності доступні такі названі діапазони:

item = B3: B16
color = C3: C16
city ​​= D3: D16

Робочий аркуш додається. Залиште свої відповіді нижче як коментарі!

Відповідь (натисніть, щоб розгорнути)

Моє рішення використовує SUMPRODUCT з ISNUMBER та MATCH, як це:

=SUMPRODUCT( ISNUMBER(MATCH(item,("Tshirt","Hoodie"),0))* ISNUMBER(MATCH(color,("Red","Blue","Green"),0))* ISNUMBER(MATCH(city,("Denver","Seattle"),0)) )

Який буде рахувати замовлення де …

  • Елемент (футболка або балахон) і
  • Колір (червоний, синій або зелений) і
  • Місто (Денвер або Сіетл)

Декілька людей також запропонували той самий підхід. Мені подобається ця структура, оскільки вона легко масштабується, щоб обробляти більше критеріїв, а також працює з посиланнями на клітинки (замість жорстко закодованих значень). З посиланнями на комірки формула в H9 така:

=SUMPRODUCT( ISNUMBER(MATCH(item,F3:F4,0))* ISNUMBER(MATCH(color,G3:G5,0))* ISNUMBER(MATCH(city,H3:H4,0)) )

Ключ до цієї формули - конструкція ISNUMBER + MATCH. MATCH налаштовується "назад" - значення пошуку походять від даних, а для масиву використовуються критерії. Результат - одиничний масив стовпців кожного разу, коли використовується MATCH. Цей масив містить або # N / A помилок (відсутність збігів), або цифр (збіг), тому ISNUMBER використовується для перетворення на логічні значення TRUE і FALSE. Операція множення масивів примушує значення TRUE FALSE до 1s і 0s, а остаточний масив усередині SUMPRODUCT містить 1s, де рядки відповідають критеріям. Потім SUMPRODUCT підсумовує масив і повертає результат.

Цікаві статті...