Cuprins
Acest tutorial explică diferența dintre funcțiile SUMIF și SUMIFS în ceea ce privește sintaxa și utilizarea lor și oferă o serie de exemple de formule pentru a aduna valori cu mai multe criterii AND / OR în Excel 365, 2021, 2019, 2016, 2013, 2010 și mai mici.
După cum toată lumea știe, Microsoft Excel pune la dispoziție o serie de funcții pentru a efectua diverse calcule cu datele. În urmă cu câteva articole, am explorat COUNTIF și COUNTIFS, care sunt concepute pentru numărarea celulelor pe baza unei singure condiții și, respectiv, a mai multor condiții. Săptămâna trecută am abordat Excel SUMIF, care adaugă valorile care îndeplinesc criteriile specificate. Acum este momentul să trecem în revistă versiunea la plural a luiSUMIF - Excel SUMIFS care permite însumarea valorilor în funcție de mai multe criterii.
Cei care sunt familiarizați cu funcția SUMIF s-ar putea gândi că pentru a o converti în SUMIFS este nevoie doar de un "S" în plus și de câteva criterii suplimentare. Acest lucru ar părea destul de logic... dar "logic" nu este întotdeauna cazul atunci când aveți de-a face cu Microsoft : )
Funcția Excel SUMIF - sintaxă & utilizare
Funcția SUMIF este utilizată pentru a însuma condiționat valorile pe baza unui parametru criterii unice Am discutat în detaliu sintaxa SUMIF în articolul precedent, iar aici este doar o scurtă reîmprospătare.
SUMIF(interval, criterii, [sum_range])- gama - intervalul de celule care urmează să fie evaluate în funcție de criteriile dumneavoastră, obligatoriu.
- criterii - condiția care trebuie îndeplinită, necesară.
- sum_range - celulele care trebuie însumate în cazul în care condiția este îndeplinită, opțional.
După cum vedeți, sintaxa funcției Excel SUMIF permite o singură condiție. Și totuși, spunem că Excel SUMIF poate fi utilizat pentru a aduna valori cu mai multe criterii. Cum se poate? Prin adăugarea rezultatelor mai multor funcții SUMIF și prin utilizarea formulelor SUMIF cu criterii de matrice, așa cum se demonstrează în exemplele următoare.
Funcția Excel SUMIFS - sintaxă & utilizare
Utilizați SUMIFS în Excel pentru a găsiți o sumă condiționată de valori pe baza mai multor criterii Funcția SUMIFS a fost introdusă în Excel 2007 și este disponibilă în toate versiunile ulterioare ale Excel 2010, 2013, 2016, 2019, 2021 și Excel 365.
În comparație cu SUMIF, sintaxa SUMIFS este puțin mai complexă:
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)Primele 3 argumente sunt obligatorii, iar intervalele suplimentare și criteriile asociate acestora sunt opționale.
sum_range
- una sau mai multe celule care trebuie însumate, obligatoriu. Aceasta poate fi o singură celulă, un interval de celule sau un interval numit. Se însumează numai celulele cu numere; valorile goale și cele text sunt ignorate.intervalul_criteriu1
- primul interval care urmează să fie evaluat în funcție de criteriile asociate, obligatoriu.criterii1
- prima condiție care trebuie îndeplinită, obligatorie. Puteți furniza criteriile sub forma unui număr, a unei expresii logice, a unei referințe de celulă, a unui text sau a unei alte funcții Excel. De exemplu, puteți utiliza criterii precum 10, ">=10", A1, "cireșe" sau TODAY().criteria_range2, criteria2, ...
- acestea sunt intervale suplimentare și criterii asociate acestora, opționale. Puteți utiliza până la 127 de perechi interval/criteriu în formulele SUMIFS.
Note:
- Pentru ca o formulă SUMIFS să funcționeze corect, toate elementele interval_criteriu trebuie să aibă aceeași dimensiune ca și sum_range , adică același număr de rânduri și coloane.
- Funcția SUMIFS funcționează cu logica AND, ceea ce înseamnă că o celulă din intervalul de sumă este însumată numai dacă îndeplinește toate criteriile specificate, adică dacă toate criteriile sunt adevărate pentru acea celulă.
Formula de bază SUMIFS
Și acum, să aruncăm o privire asupra formulei Excel SUMIFS cu două condiții. Să presupunem că aveți un tabel care enumeră loturile de fructe de la diferiți furnizori. Aveți numele fructelor în coloana A, numele furnizorilor în coloana B și cantitatea în coloana C. Ceea ce doriți este să aflați o sumă a sumelor referitoare la un anumit fruct și furnizor, de exemplu, toate merele furnizate de Pete.
Atunci când învățați ceva nou, este întotdeauna o idee bună să începeți cu lucruri simple. Deci, pentru început, să definim toate argumentele pentru formula SUMIFS:
- sum_range - C2:C9
- criteria_range1 - A2:A9
- criteria1 - "mere"
- criteria_range2 - B2:B9
- criteria2 - "Pete"
Acum, asamblați parametrii de mai sus și veți obține următoarea formulă SUMIFS:
=SUMIFS(C2:C9, A2:A9, "mere", B2:B9, "Pete")
Pentru a rafina și mai mult formula, puteți înlocui criteriile de text "mere" și "Pete" cu referințe de celule. În acest caz, nu va trebui să modificați formula pentru a calcula cantitatea de alte fructe de la un alt furnizor:
=SUMIFS(C2:C9, A2:A9, F1, B2:B9, F2)
Notă. Atât funcțiile SUMIF, cât și SUMIFS nu țin cont de majuscule și minuscule prin natura lor. Pentru a le face să recunoască majusculele din text, consultați Formula SUMIF și SUMIFS în Excel care ține cont de majuscule și minuscule.
SUMIF vs. SUMIFS în Excel
Deoarece scopul acestui tutorial este de a acoperi toate modalitățile posibile de însumare a valorilor în funcție de mai multe condiții, vom discuta exemple de formule cu ambele funcții - Excel SUMIFS și SUMIF cu mai multe criterii. Pentru a le utiliza corect, trebuie să înțelegeți clar ce au în comun aceste două funcții și în ce fel sunt diferite.
În timp ce partea comună este clară (scop și parametri similari), diferențele nu sunt atât de evidente, deși sunt foarte esențiale.
Există 4 diferențe majore între SUMIF și SUMIFS:
- Numărul de condiții SUMIF poate evalua doar o singură condiție la un moment dat, în timp ce SUMIFS poate verifica mai multe criterii.
- Sintaxa . cu SUMIF, se utilizează sum_range este ultimul și opționalul argument - dacă nu este definit, valorile din gama Cu SUMIFS, sum_range este primul argument necesar.
- Dimensiunea intervalelor. În formulele SUMIF, sum_range nu trebuie să aibă neapărat aceeași dimensiune și formă ca și gama , atâta timp cât aveți celula din stânga sus în dreapta. În Excel SUMIFS, fiecare interval_criteriu trebuie să conțină același număr de rânduri și coloane ca și sum_range argument.
De exemplu, SUMIF(A2:A9,F1,C2:C18) va returna rezultatul corect deoarece celula cea mai din stânga din sum_range (C2) este corect. Astfel, Excel va face corecția în mod automat și va include cât mai multe coloane și rânduri în sum_range așa cum există în gama .
O formulă SUMIFS cu intervale de dimensiuni inegale va returna o eroare #VALUE!
- Disponibilitate SUMIF este disponibil în toate versiunile Excel, de la 365 până la 2000. SUMIFS este disponibil în Excel 2007 și versiunile ulterioare.
În regulă, destul cu strategia (adică teoria), să trecem la tactică (adică exemple de formule) : )
Cum se utilizează SUMIFS în Excel - exemple de formule
Cu puțin timp în urmă, am discutat despre o formulă SUMIFS simplă cu două criterii de text. În același mod, puteți utiliza Excel SUMIFS cu mai multe criterii exprimate prin numere, date, expresii logice și alte funcții Excel.
Exemplul 1. Excel SUMIFS cu operatori de comparație
În tabelul nostru de furnizori de fructe, să presupunem că doriți să însumați toate livrările efectuate de Mike cu Qty. 200 sau mai mult. Pentru a face acest lucru, utilizați operatorul de comparație "mai mare decât sau egal cu" (>=) în criteriul2 și obțineți următoarea formulă SUMIFS:
=SUMIFS(C2:C9,B2:B9,"Mike",C2:C9,">=200")
Notă: Vă rugăm să acordați atenție faptului că în formulele Excel SUMIFS, expresiile logice cu operatori de comparație trebuie să fie întotdeauna între ghilimele duble ("").
Am acoperit în detaliu toți operatorii de comparație posibili atunci când am discutat despre funcția Excel SUMIF, aceiași operatori pot fi utilizați în criteriile SUMIFS. De exemplu, următoarea formulă va returna suma tuturor valorilor din celulele C2:C9 care sunt mai mari sau egale cu 200 și mai mici sau egale cu 300.
=SUMIFS(C2:C9, C2:C9,">=200", C2:C9,"<=300")
Exemplul 2. Utilizarea Excel SUMIFS cu date
În cazul în care doriți să însumați valori cu mai multe criterii pe baza datei curente, utilizați funcția TODAY() în criteriile SUMIFS, după cum se demonstrează mai jos. Formula următoare însumează valorile din coloana D dacă o dată corespunzătoare din coloana C se încadrează în ultimele 7 zile, inclusiv astăzi:
=SUMIFS(D2:D10, C2:C10,">="&TODAY()-7, C2:C10,"<="&TODAY())
Notă. Atunci când utilizați o altă funcție Excel împreună cu un operator logic în criterii, trebuie să utilizați ampersand (&) pentru a concatena un șir de caractere, de exemplu "<="&TODAY().
Într-un mod similar, puteți utiliza funcția Excel SUMIF pentru a aduna valorile dintr-un anumit interval de date. De exemplu, următoarea formulă SUMIFS însumează valorile din celulele C2:C9 dacă o dată din coloana B este cuprinsă între 1-Oct-2014 și 31-Oct-2014, inclusiv.
=SUMIFS(C2:C9, B2:B9, ">=10/1/2014", B2:B9, "<=10/31/2014")
Același rezultat poate fi obținut prin calcularea diferenței a două funcții SUMIF, așa cum este demonstrat în acest exemplu - Cum să utilizați SUMIF pentru a aduna valori într-un anumit interval de date. Cu toate acestea, Excel SUMIFS este mult mai ușor și mai ușor de înțeles, nu-i așa?
Exemplul 3. Excel SUMIFS cu celule goale și fără celule goale
Atunci când analizați rapoarte și alte date, este posibil să aveți adesea nevoie să însumați valorile corespunzătoare fie celulelor goale, fie celor care nu sunt goale.
Criterii | Descriere | Exemplu de formulă | |
---|---|---|---|
Celule goale | "=" | Adună valorile corespunzătoare celulelor goale care nu conțin absolut nimic - nici o formulă, nici un șir de lungime zero. | =SUMIFS(C2:C10, A2:A10, "=", B2:B10, "=") |
Adună valorile din celulele C2:C10 dacă celulele corespunzătoare din coloanele A și B sunt absolut goale.
Adună valorile din celulele C2:C10 cu aceleași condiții ca și formula de mai sus, dar include șiruri de caractere goale.
Adună valorile din celulele C2:C10 dacă celulele corespunzătoare din coloanele A și B nu sunt goale, inclusiv celulele cu șiruri de caractere goale.
sau
SUM / LEN
=SUM((C2:C10) * (LEN(A2:A10)>0)*(LEN(B2:B10)>0))
Adună valorile din celulele C2:C10 dacă celulele corespunzătoare din coloanele A și B nu sunt goale, celulele cu șiruri de caractere de lungime zero nu sunt incluse.
Și acum, să vedem cum puteți utiliza o formulă SUMIFS cu criterii "blank" și "non-blank" pe date reale.
Să presupunem că aveți o dată a comenzii în coloana B, o dată de livrare în coloana C și Cantitatea în coloana D. Cum puteți afla totalul produselor care nu au fost încă livrate? Adică, doriți să aflați suma valorilor corespunzătoare celulelor nevide din coloana B și celulelor goale din coloana C.
Soluția constă în utilizarea formulei SUMIFS cu 2 criterii:
=SUMIFS(D2:D10, B2:B10,"", C2:C10,"=")
Utilizarea Excel SUMIF cu mai multe criterii OR
După cum am menționat la începutul acestui tutorial, funcția SUMIFS este concepută cu logica ȘI. Dar ce se întâmplă dacă aveți nevoie să însumați valori cu mai multe criterii OR, adică atunci când cel puțin una dintre condiții este îndeplinită?
Exemplul 1. SUMIF + SUMIF
Cea mai simplă soluție constă în însumarea rezultatelor returnate de mai multe funcții SUMIF. De exemplu, următoarea formulă demonstrează cum se poate afla totalul produselor livrate de Mike și John:
=SUMIF(C2:C9, "Mike",D2:D9) + SUMIF(C2:C9, "John",D2:D9)
După cum vedeți, prima funcție SUMIF adună cantitățile corespunzătoare lui "Mike", cealaltă funcție SUMIF returnează sumele aferente lui "John" și apoi adăugați aceste două numere.
Exemplul 2. SUM & SUMIF cu un argument de tip array
Soluția de mai sus este foarte simplă și poate face treaba rapid atunci când există doar câteva criterii. Dar o formulă SUMIF + SUMIF poate crește enorm dacă doriți să însumați valori cu mai multe condiții OR. În acest caz, o abordare mai bună este utilizarea unei formule de tip criterii de matrice în funcția SUMIF. Să examinăm acum această abordare.
Puteți începe prin a enumera toate condițiile separate prin virgule și apoi să includeți lista rezultată, separată prin virgulă, în {curly brackets}, ceea ce se numește, din punct de vedere tehnic, o matrice.
În exemplul anterior, dacă doriți să însumați produsele livrate de John, Mike și Pete, criteriile de matrice vor arăta ca {"John", "Mike", "Pete"}. Și funcția SUMIF completă este SUMIF(C2:C9, {"John", "Mike", "Pete"} ,D2:D9)
.
Argumentul array format din 3 valori forțează formula SUMIF să returneze trei rezultate separate, dar, din moment ce scriem formula într-o singură celulă, aceasta ar returna doar primul rezultat - adică totalul produselor livrate de John. Pentru ca această abordare de tip array-criteriu să funcționeze, trebuie să mai folosiți un mic truc - includeți formula SUMIF într-o funcție SUM, astfel:
=SUM(SUMIF(C2:C9, {"John", "Mike", "Pete"} , D2:D9))
După cum vedeți, un criteriu de tip array face ca formula să fie mult mai compactă în comparație cu SUMIF + SUMIF și vă permite să adăugați în array oricâte valori doriți.
Această abordare funcționează atât cu numere, cât și cu valori text. De exemplu, dacă în loc de numele furnizorilor din coloana C ați avea ID-urile furnizorilor, cum ar fi 1, 2, 3 etc., atunci formula SUMIF ar arăta în felul următor:
=SUM(SUMIF(C2:C9, {1,2,3} , D2:D9))
Spre deosebire de valorile text, numerele nu trebuie să fie incluse între ghilimele duble în argumentele de matrice.
Exemplul 3. SUMPRODUCT & SUMIF
În cazul în care metoda preferată este de a enumera criteriile în anumite celule, mai degrabă decât să le specificați direct în formulă, puteți utiliza SUMIF împreună cu funcția SUMPRODUCT care înmulțește componentele din array-urile date și returnează suma acestor produse.
=SUMPRODUCT(SUMIF(C2:C9, G2:G4, D2:D9))
Unde G2:G4 sunt celulele care conțin criteriile dumneavoastră, în cazul nostru numele furnizorilor, așa cum este ilustrat în imaginea de mai jos.
Dar, bineînțeles, nimic nu vă împiedică să enumerați valorile într-un criteriu array al funcției SUMIF, dacă doriți:
=SUMPRODUCT(SUMIF(C2:C9, {"Mike", "John", "Pete"}, D2:D9))
Rezultatul returnat de ambele formule va fi identic cu cel pe care îl vedeți în captura de ecran:
Excel SUMIFS cu mai multe criterii OR
Dacă doriți să însumați condiționat valori în Excel nu doar cu mai multe condiții OR, ci cu mai multe seturi de condiții, va trebui să utilizați SUMIFS în loc de SUMIF. Formulele vor fi foarte asemănătoare cu cele pe care tocmai le-am discutat.
Ca de obicei, un exemplu ar putea ajuta la o mai bună ilustrare a subiectului. În tabelul nostru cu furnizorii de fructe, să adăugăm data livrării (coloana E) și să aflăm cantitatea totală livrată de Mike, John și Pete în octombrie.
Exemplul 1. SUMIFS + SUMIFS
Formula produsă de această abordare include o mulțime de repetiții și pare greoaie, dar este ușor de înțeles și, cel mai important, funcționează : )
=SUMIFS(D2:D9,C2:C9, "Mike", E2:E9,">=10/1/2014", E2:E9,"<=10/31/2014") +
SUMIFS(D2:D9, C2:C9, "John", E2:E9, ">=10/1/2014", E2:E9, "<=10/31/2014") +
SUMIFS(D2:D9, C2:C9, "Pete", E2:E9, ">=10/1/2014" ,E2:E9, "<=10/31/2014")
După cum vedeți, scrieți o funcție SUMIFS separată pentru fiecare dintre furnizori și includeți două condiții - egală sau mai mare decât 1 octombrie (">=10/1/2014",) și mai mică sau egală cu 31 octombrie ("<=10/31/2014"), iar apoi însumați rezultatele.
Exemplul 2. SUM & SUMIFS cu un argument de tip array
Am încercat să explic esența acestei abordări în exemplul SUMIF, așa că acum putem pur și simplu să copiem acea formulă, să schimbăm ordinea argumentelor (după cum vă amintiți, este diferită în SUMIF și SUMIFS) și să adăugăm criterii suplimentare. Formula rezultată este mai compactă decât SUMIFS + SUMIFS:
=SUM(SUMIFS(D2:D9,C2:C9, {"Mike", "John", "Pete"}, E2:E9,">=10/1/2014", E2:E9,"<=10/31/2014")))
Rezultatul returnat de această formulă este exact același cu cel din captura de ecran de mai sus.
Exemplul 3. SUMPRODUCT & SUMIFS
După cum vă amintiți, abordarea SUMPRODUCT diferă de cele două anterioare prin faptul că introduceți fiecare dintre criteriile dumneavoastră într-o celulă separată, în loc să le specificați direct în formulă. În cazul mai multor seturi de criterii, funcția SUMPRODUCT nu va fi suficientă și va trebui să utilizați și ISNUMBER și MATCH.
Deci, presupunând că numele furnizorilor se află în celulele H1:H3, data de începere este în celula H4 și data de încheiere în celula H5, formula noastră SUMPRODUCT are următoarea formă:
=SUMPRODUCT(--(E2:E9>=H4), --(E2:E9<=H5), --(ISNUMBER(MATCH(C2:C9, H1:H3,0))), D2:D9), D2:D9)
Mulți oameni se întreabă de ce se folosește liniuța dublă (--) în formulele SUMPRODUCT. Ideea este că Excel SUMPRODUCT ignoră toate valorile, cu excepția celor numerice, în timp ce operatorii de comparație din formula noastră returnează valori booleene (TRUE / FALSE), care nu sunt numerice. Pentru a converti aceste valori booleene în 1 și 0, se folosește semnul dublu minus, care se numește, din punct de vedere tehnic, operator dublu unar. Primul unar constrângeTRUE/FALSE la -1/0, respectiv -1/0. Al doilea unar neagă valorile, adică inversează semnul, transformându-le în +1 și 0, pe care funcția SUMPRODUCT le poate înțelege.
Sper că explicația de mai sus are sens. Și chiar dacă nu are, amintiți-vă această regulă de bază - folosiți operatorul unar dublu (--) atunci când utilizați operatori de comparație în formulele SUMPRODUCT.
Utilizarea Excel SUM în formulele de matrice
După cum vă amintiți, Microsoft a implementat funcția SUMIFS în Excel 2007. Dacă cineva încă mai folosește Excel 2003, 2000 sau mai devreme, va trebui să utilizeze o formulă de matrice SUM pentru a adăuga valori cu mai multe criterii AND. Firește, această abordare funcționează și în versiunile moderne de Excel 2013 - 2007 și poate fi considerată un omolog de modă veche al funcției SUMIFS.
În formulele SUMIF discutate mai sus, ați utilizat deja argumente de tip array, dar o formulă de tip array este diferită.
Exemplul 1. Suma cu mai multe criterii AND în Excel 2003 și versiunile anterioare
Să ne întoarcem la primul exemplu în care am aflat suma sumelor aferente unui anumit fruct și furnizor:
După cum știți deja, această sarcină este ușor de realizat cu ajutorul unei formule SUMIFS obișnuite:
=SUMIFS(C2:C9, A2:A9, "mere", B2:B9, "Pete")
Și acum, să vedem cum poate fi îndeplinită aceeași sarcină în primele versiuni "fără SUMIFS" ale Excel. În primul rând, scrieți toate condițiile care trebuie îndeplinite sub forma range="condiție". În acest exemplu, avem două perechi range/condiții:
Condiția 1: A2:A9="mere"
Condiția 2: B2:B9="Pete"
Apoi, scrieți o formulă SUM care "înmulțește" toate perechile de intervale/condiții, fiecare dintre ele fiind inclusă între paranteze. Ultimul multiplicator este intervalul sumei, C2:C9 în cazul nostru:
=SUM((A2:A9="mere") * ( B2:B9="Pete") * ( C2:C9))
După cum este ilustrat în captura de ecran de mai jos, formula funcționează perfect în cea mai recentă versiune Excel 2013.
Notă: Când introduceți orice formulă de matrice, trebuie să apăsați Ctrl + Shift + Enter . Odată ce faceți acest lucru, formula dvs. este inclusă în {între paranteze curbe}, ceea ce reprezintă o indicație vizuală că o formulă de matrice este introdusă corect. Dacă încercați să tastați manual parantezele, formula dvs. va fi convertită într-un șir de text și nu va funcționa.
Exemplul 2. Formulele de matrice SUM în versiunile moderne de Excel
Chiar și în versiunile moderne de Excel, puterea funcției SUM nu trebuie subestimată. Formula de matrice SUM nu este o simplă gimnastică a minții, ci are o valoare practică, așa cum se demonstrează în exemplul următor.
Să presupunem că aveți două coloane, B și C, și că trebuie să numărați de câte ori coloana C este mai mare decât coloana B, atunci când o valoare din coloana C este mai mare sau egală cu 10. O soluție imediată care vă vine în minte este utilizarea formulei de matrice SUM:
=SUM((C1:C10>=10) * (C1:C10>B1:B10))
Nu vedeți nicio aplicație practică la formula de mai sus? Gândiți-vă la ea într-un alt mod : )
Să presupunem că aveți o listă de comenzi ca în imaginea de mai jos și doriți să aflați câte produse nu au fost livrate în totalitate până la o anumită dată. Tradus în limbajul Excel, avem următoarele condiții:
Condiția 1: O valoare din coloana B (Articole ordonate) este mai mare decât 0
Condiția 2: O valoare din coloana C (Livrat) mai mică decât cea din coloana B.
Condiția 3: O dată din coloana D (Data scadentă) este mai mică decât 11/1/2014.
Punând laolaltă cele trei perechi interval/condiții, se obține următoarea formulă:
=SUM((B2:B10>=0)*(B2:B10>C2:C10)*(D2:D10
Ei bine, exemplele de formule discutate în acest tutorial au zgâriat doar suprafața a ceea ce pot face cu adevărat funcțiile Excel SUMIFS și SUMIF. Dar sperăm că v-au ajutat să vă îndrumați în direcția corectă și acum puteți aduna valori în registrele de lucru Excel, indiferent de câte condiții complicate trebuie să luați în considerare.