Формула на Excel: Пребройте дали редът отговаря на вътрешните критерии -

Съдържание

Обща формула

=SUMPRODUCT(--(logical_expression))

Обобщение

За да преброите редове в таблица, които отговарят на вътрешни, изчислени критерии, без да използвате помощна колона, можете да използвате функцията SUMPRODUCT.

Контекст

Представете си, че имате таблица с данни за продажбите на няколко продукта. Имате колона за продажби миналия месец и колона за продажби през текущия месец. Искате да преброите продукти (редове), където текущите продажби са по-малко от продажбите през миналия месец. Не можете да използвате COUNTIFs за това, защото COUNTIFs е функция, базирана на диапазон. Едната опция е да добавите помощна колона, която изважда продажбите от миналия месец от продажбите за този месец, след което използвайте COUNTIF, за да преброите резултатите, по-малки от нула. Но какво, ако не искате (или не можете) да добавите помощна колона? В този случай можете да използвате SUMPRODUCT.

В показания пример формулата в клетка G6 е:

=SUMPRODUCT(--(C5:C10>D5:D10))

Обяснение

SUMPRODUCT е предназначен за работа с масиви. Той умножава съответните елементи в два или повече масива и сумира получените продукти. В резултат на това можете да използвате SUMPRODUCT за обработка на масиви, които са резултат от критерии, приложени към набор от клетки. Резултатът от такива операции ще бъдат масиви, с които SUMPRODUCT може да се справя родно, без да се изисква синтаксис Control Shift Enter.

В този случай просто сравняваме стойностите в колона C със стойностите в колона D, използвайки логически израз:

C5:C10>D5:D10

Тъй като имаме работа с диапазони (масиви), резултатът е масив от TRUE FALSE стойности като този:

(FALSE; TRUE; FALSE; TRUE; FALSE; FALSE)

За да ги принудим в единици и нули, използваме двойно отрицателен оператор (наричан още двоен унар):

--(C5:C10>D5:D10)

Който произвежда и масива по този начин:

(0; 1; 0; 1; 0; 0)

който след това се обработва от SUMPRODUCT. Тъй като има само един масив, SUMPRODUCT просто събира елементите в масива и връща общ резултат.

Интересни статии...