
Formula generică
=SUMPRODUCT(--(logical_expression))
rezumat
Pentru a număra rândurile dintr-un tabel care îndeplinesc criteriile interne, calculate, fără a utiliza o coloană de ajutor, puteți utiliza funcția SUMPRODUCT.
Context
Imaginați-vă că aveți un tabel cu cifrele de vânzări pentru mai multe produse. Aveți o coloană pentru vânzări luna trecută și o coloană pentru vânzări în luna curentă. Doriți să numărați produsele (rândurile) în care vânzările actuale sunt mai mici decât vânzările de luna trecută. Nu puteți utiliza COUNTIFs pentru acest lucru, deoarece COUNTIFs este o funcție bazată pe intervale. O opțiune este să adăugați o coloană de ajutor care scade vânzările de luna trecută din vânzările din această lună, apoi utilizați COUNTIF pentru a număra rezultatele mai mici de zero. Dar dacă nu doriți (sau nu puteți) adăuga o coloană de ajutor? În acest caz, puteți utiliza SUMPRODUCT.
În exemplul prezentat, formula din celula G6 este:
=SUMPRODUCT(--(C5:C10>D5:D10))
Explicaţie
SUMPRODUCT este conceput pentru a lucra cu tablouri. Înmulțește elementele corespunzătoare în două sau mai multe tablouri și însumează produsele rezultate. Ca urmare, puteți utiliza SUMPRODUCT pentru a procesa matrici care rezultă din aplicarea criteriilor la o gamă de celule. Rezultatul unor astfel de operații vor fi matrici, pe care SUMPRODUCT le poate gestiona în mod nativ, fără a necesita sintaxa Enter Shift Control.
În acest caz, comparăm pur și simplu valorile din coloana C cu valorile din coloana D folosind o expresie logică:
C5:C10>D5:D10
Deoarece avem de-a face cu intervale (matrice), rezultatul este o serie de valori ADEVĂRATE FALSE ca aceasta:
(FALS; ADEVĂRAT; FALS; ADEVĂRAT; FALS; FALS)
Pentru a constrânge acestea în unii și zerouri, folosim un operator negativ dublu (numit și unar dublu):
--(C5:C10>D5:D10)
Care produce și aranjează astfel:
(0; 1; 0; 1; 0; 0)
care este apoi procesat de SUMPRODUCT. Deoarece există o singură matrice, SUMPRODUCT adaugă pur și simplu elementele din matrice și returnează un total.