Functiile Excel SUMIFS si DSUM pentru agregare cu criterii multiple.
Acest articol explica diferentele dintre functiile SUMIF, SUMIFS si DSUM din punct de vedere al sintaxei si al utilizarii lor si ofera o serie de exemple de formule pentru a aduna valori in functie de mai multe criterii in Excel Office 365, 2016, 2013, 2010, 2007, 2003 etc.
Daca sunteti incepatori in agregarea conditionata din Excel, va rugam sa parcurgeti mai intai articolul:
Functia SUMIF – Insumarea cu o singura conditie logica (Partea I)
1. Introducere in agregarea Excel conditionata
Microsoft Excel ofera la o prima vedere o serie de functii redundante pentru efectuarea de calcule agregate (suma, medie, minimum, maximum, numarare, etc). Insa nu este asa, sa le luam pe rand:
Sa luam un tabel de referinta pentru a urmari mai usor:
Metode de a insuma conditionat (3 functii):
SUMIF: adunare in functie de o singura conditie logica
Exemplul 1.1: Suma Stoc pentru Magazinele din „Bucuresti Sector 1”
=SUMIF(A2:A14, „Bucuresti Sect 1”, D2:D14)
Exemplul 1.2: Suma Stoc pentru toate Magazinele din Bucuresti (din toate sectoarele)
=SUMIF(A2:A14, „*Bucuresti*”, D2:D14)
SumIF nu poate calcula Suma Stoc pentru produsele „Vin” din „Bucuresti Sect 1”, pentru ca in acest caz avem doua conditii logice de indeplinit simultan (Se poate face usor cu SUMIFS)
Concluzia pentru SUMIF: O singura conditie logica, cu sau fara wildcards
SUMIFS: aduna in functie de mai multe conditii logice (ce trebuiesc indeplinite simultan)
Exemplul 1.3: Suma Stoc pentru produsele „Vin” din „Bucuresti Sect 1”
=SUMIFS(D2:D14, A2:A14, „Bucuresti Sect 1”, B2:B14, „Vin”)
Exemplul 1.4: Suma Stoc pentru Berea din magazinele „Bucuresti Sect 1” plus „Bucuresti Sect 2”
=SUMIFS(D2:D14, A2:A14, „Bucuresti Sect 1”, B2:B14, „Bere”) + SUMIFS(D2:D14, A2:A14, „Bucuresti Sect 2”, B2:B14, „Bere”)
Concluzia pentru SUMIFS: Stie sa gestioneaza mai multe conditii logice de indeplinit SIMULTAN (AND logic), insa in cazul in care dorim OR logic (reuniunea) trebuie scrise mai multe formule SUMIFS si apoi adunate.
DSUM: aduna in functie de oricate conditii logice (ce trebuie SAU nu indeplinite simultan)
Aceasta functie, mai putin cunoscuta de catre utilizatorii obisnuiti, stie sa adune in functie de oricate conditii logice (legate cu orice conjunctie booleana: AND, OR, NOT).
Pentru celelelate functii agregate se aplica aceleasi reguli ca mai sus, astfel:
Numarari (count) conditionate (3 functii):
COUNTIF: numara in functie de o singura conditie logica
COUNTIFS: numara in functie de mai multe conditii logice (ce trebuiesc indeplinite simultan)
DCOUNT: numara in functie de oricate conditii logice (ce trebuiesc SAU nu indeplinite simultan)
Medii conditionate (3 functii):
AVERAGEIF: face media in functie de o singura conditie logica
AVERAGEIFS: face media in functie de mai multe conditii logice (ce trebuiesc indeplinite simultan)
DAVERAGE: face media in functie de oricate conditii logice (ce trebuiesc SAU nu indeplinite simultan)
Minimum conditionat (2 functii):
MINIFS: afla valoarea cea mai mica in functie de mai multe conditii logice (ce trebuiesc indeplinite simultan)
DMIN: afla valoarea cea mai mica in functie de oricate conditii logice (ce trebuiesc SAU nu indeplinite simultan)
Maximum conditionat (2 functii):
MAXIFS: afla valoarea cea mai mare in functie de mai multe conditii logice (ce trebuiesc indeplinite simultan)
DMAX: afla valoarea cea mai mare in functie de oricate conditii logice (ce trebuiesc SAU nu indeplinite simultan)
Dupa cum observati, exista nu mai putin de 13 functii agregate conditionate uzuale (mai exista si altele, mai rar folosite), insa astazi vom vorbi in peste 20 de pagini (si 3000 de cuvinte) doar despre SUMELE AGREGATE
Partea buna este ca daca prindeti „smecheria” cu SUMIFS, toate celelalte se folosesc (cam) la fel.
2. Functia SUMIF – sintaxa si utilizare
Daca nu ati parcurs articolul precedent legat de folosirea functiei SUMIF, acum este momentul sa o faceti. Aici voi puncta doar diferentele fata de SUMIFS
=SUMIF (celulele_unde_caut, criteriu_de_cautare, [celulele_de_unde_adun])
celulele_unde_caut – celulele care trebuie evaluate dupa criteriile dvs., de exemplu A1: A10.
criteriu_de_cautare – conditia care trebuie indeplinita. De exemplu, puteti introduce criterii precum „23”, „seminte”, „02/13/2020”, „<7” sau direct B20 (adresa celulei ce contine valoarea de cautat) etc.
celulele_de_unde_adun – celulele pentru care se doreste insumarea daca criteriu_de_cautare este indeplinit. Acest argument este optional si trebuie sa-l utilizati numai daca doriti sa insumati alte celule decat cele definite in argumentul celulele_unde_caut.
Exemplul 2.1: Cum folosesc SUMIF, un exemplu simplu:
In tabelul de mai jos dorim sa calculam suma Stoc pentru Vin (de la toate Orasele):
=SUMIF(B2:B14,G12,D2:D14)
Exemplul 2.2: Cum adun conditionat folosind functia SUMIF si cautari aproximative cu wildcards (metacaractere)
Vrem suma Stoc pentru Piper (indiferent de tip)
=SUMIF(B2:B14,”*piper*”,D2:D14)
3. Functia SUMIFS – sintaxa si utilizare
Utilizati SUMIFS in Excel pentru a gasi o suma conditionata a valorilor pe baza a mai multor criterii.
Functia SUMIFS a fost introdusa in Excel 2007, astfel incat sa o poti folosi in toate versiunile moderne de Excel: Office 365, 2019, 2016, 2013, 2010 si 2007.
Fata de SUMIF, sintaxa SUMIFS este putin mai lunga:
SUMIFS (sum_range, criterii_range1, criterii1, [criterii_range2, criterii2], …)
Primele 3 argumente sunt obligatorii, intervalele suplimentare si criteriile asociate acestora sunt optionale.
sum_range – este obligatorie si reprezinta celulele de unde in final va aduna. Doar celulele cu numere sunt insumate; valori goale si text sunt ignorate.
criterii_range1 – este necesar si reprezinta celulele peste care aplicam prima conditie logica.
criterii1 – prima conditie care trebuie indeplinita, obligatorie. Puteti furniza criteriile sub forma unui numar, expresie logica, referinta a celulelor, text sau o alta functie Excel. De exemplu, puteti utiliza criterii precum: 23, „> = 35”, D2, „gutui” sau TODAY ().
criterii_range2, criterii2, … – acestea sunt intervale suplimentare si criterii asociate acestora, optional. Puteti utiliza pana la 127 de perechi de intervale / criterii in formulele SUMIFS.
Observatie: Functia SUMIFS functioneaza cu logica AND, ceea ce inseamna ca o celula din intervalul sumei este insumata numai daca indeplineste toate criteriile specificate (daca toate criteriile sunt adevarate pentru acea celula).
Exemplul 3.1: Dorim sa calculam suma Stocurilor de la Iasi pentru caracatita?
=SUMIFS(D2:D12, A2:A12, „Iasi”, B2:B12, „Caracatita”)
In acest exemplu:
sum_range este D2:D12, adica coloana de unde vom aduna (atentie ca este exact invers ca la SUMIF). La SUMIFS se incepe cu coloana de agregat
criterii_range1 este prima coloana unde o sa punem prima conditie logica, in cazul nostru coloana Magazin (A2:A12)
criterii1 este prima conditie logica de indeplinit (pentru coloana criterii_range1). Cautam „Iasi” pe coloana A2:A12
criterii_range2 este a doua coloana unde o sa punem prima conditie logica, in cazul nostru coloana cu Produs (B2:B12)
criterii2 este a doua conditie logica de indeplinit (pentru coloana criterii_range2). Cautam „Caracatita” pe coloana B2:B12
Atentie, se evalueaza ambele criterii de indeplinit SIMULTAN. Observati ca in tabel mai exista o valoare Iasi care este ignorata (nu detine caracatita)
Exemplul 3.2: Folosirea operatorilor de comparatie de catre SUMIFS
Dorim Suma Stoc pentru toate produsele mai putin pentru Vin si Bere
=SUMIFS(D2:D14, B2:B14,”<>Vin”, B2:B14, „<>Bere”)
Observati ca operatorii de comparatie se folosesc in interiorul ghilimelelor la argumentele de criterii
Exemplul 3.3: Folosirea SUMIFS cu datele calendaristice
In tabelul de mai jos dorim sa calculam Suma Valorilor de la toate facturile scadente intre datele: 1 Februarie 2020 si 1 Martie 2020
Si mai elegant este sa punem cele doua date calendaristice in doua celule separate si apoi sa le concatenam dinamic in formula :
=SUMIFS(E2:E12, B2:B12, „>=” & G5, B2:B12, „<=” & G6)
Exemplul 3.4: Cum lucreaza SUMIFS cu valorile BLANKS si EMPTY („”)
Avem urmatorul tabel, in care am pus atat celule blank cat si una empty (cu „”)
Intrebarea ar fi de ce ar scrie cineva intr-o celula =”” ?
Nu a scris nimeni explicit, pur si simplu e posibil ca valoarea empty sa fie intoarsa de o alta formula
Adunam Valorile facturilor care au Data necompletata:
=SUMIFS(E2:E10, B2:B10, „=”)
Adunam Valorile facturilor care au Data necompletata sau EMPTY
=SUMIFS(E2:E10, B2:B10, „”)
Daca am scadea cele doua sume de mai sus, am gasi suma valorilor de la toate celulele empty 😊:
=SUMIFS(E2:E10, B2:B10, „”) – SUMIFS(E2:E10, B2:B10, „=”)
Urmariti tabelul de mai jos, pentru ca am explicat in el toate variante de cautari (NON) BLANK SI/SAU (NON) EMPTY:
Criteriul |
Descriere |
Exemple Formule |
|
Celulele BLANK |
„= „ |
Aduna valorile corespunzatoare celulelor BLANK (fara empty, fara texte, fara numere, absolut nimic scris in ele) |
=SUMIFS(E2:E10, B2:B10, „=”)Aduna celulele de pe coloana E2:E10 corespunzatoare celulelor necompletate (BLANK) de pe coloana B2:B10. |
„” |
Aduna toate valorile corespondente celulelor care dpdv vizual NU au nimic in ele (lasate necompletate sau care contin sirul empty „”) |
=SUMIFS(E2:E10, B2:B10, „”)La fel ca mai sus, numai ca se inclus si celulele empty de pe coloana E2:E10 |
|
Celulele Non-blank |
„<>” |
Aduna toate valorile corepondente celulelor completate (inclusiv pe cele empty) |
=SUMIFS(E2:E10, B2:B10, „=<>”)Aduna valorile de pe coloana E2:E10 corespunzatoare celulelor completate de pe coloana B2:B10 (inclusiv cele empty) |
SUM-SUMIF |
Aduna toate valorile corepondente celulelor completate (fara empty) |
=SUM(E2:E10) – SUMIFS(E2:E10, B2:B10, „”)Aduna valorile de pe coloana E2:E10 corespunzatoare celulelor completate de pe coloana B2:B10 (fara cele empty) |
Lăsați un comentariu