Excel COUNTIF i COUNTIFS amb lògica OR

  • Comparteix Això
Michael Brown

El tutorial explica com utilitzar les funcions COUNTIF i COUNTIFS d'Excel per comptar cel·les amb múltiples condicions OR, p. si una cel·la conté X, Y o Z.

Com tothom sap, la funció COUNTIF d'Excel està dissenyada per comptar cel·les en funció d'un sol criteri, mentre que COUNTIFS avalua diversos criteris amb la lògica AND. Però, què passa si la vostra tasca requereix lògica O: quan es proporcionen diverses condicions, qualsevol pot coincidir per incloure's al recompte?

Hi ha algunes solucions possibles per a aquesta tasca, i aquest tutorial les cobrirà totes en tot el detall. Els exemples impliquen que teniu un bon coneixement de la sintaxi i els usos generals d'ambdues funcions. Si no és així, potser voldreu començar amb la revisió dels conceptes bàsics:

Funció d'Excel COUNTIF: compta les cel·les amb un criteri.

Funció d'Excel COUNTIFS: compta les cel·les amb múltiples criteris AND.

Ara que tothom està a la mateixa pàgina, aprofundim en:

    Comptar cel·les amb condicions OR a Excel

    Aquesta secció cobreix l'escenari més senzill: comptar cel·les que compleixin qualsevol (almenys una) de les condicions especificades.

    Fórmula 1. COUNTIF + COUNTIF

    La manera més fàcil de comptar cel·les que tenen un valor o un altre (Countif a o b ) és escriure una fórmula normal COUNTIF per comptar cada element individualment i després afegir els resultats:

    COUNTIF( interval, criteri1) + COUNTIF( interval, criteri2)

    Com aPer exemple, esbrineu quantes cel·les de la columna A contenen "pomes" o "plàtans":

    =COUNTIF(A:A, "apples") + COUNTIF(A:A, "bananas")

    En els fulls de treball de la vida real, és una bona pràctica operar amb intervals en lloc de que columnes senceres perquè la fórmula funcioni més ràpidament. Per evitar la molèstia d'actualitzar la fórmula cada vegada que canvien les condicions, escriviu els elements d'interès a les cel·les predefinides, per exemple, F1 i G1, i feu referència a aquestes cel·les. Per exemple:

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

    Aquesta tècnica funciona bé per a un parell de criteris, però afegir tres o més funcions COUNTIF juntes faria que la fórmula sigui massa feixuga. En aquest cas, és millor que us quedeu amb una de les alternatives següents.

    Fórmula 2. COUNTIF amb constant matriu

    Aquí teniu una versió més compacta de la fórmula SUMIF amb condicions OR a Excel:

    SUMA(COUNTIF( interval, { criteri1, criteri2, criteri3, …}))

    La fórmula és construït d'aquesta manera:

    Primer, empaqueteu totes les condicions en una constant de matriu: elements individuals separats per comes i la matriu tancada entre claus com {"pomes", "plàtans", "llimones"}.

    A continuació, incloeu la constant de matriu a l'argument criteri d'una fórmula normal COUNTIF: COUNTIF(A2:A10, {"pomes","plàtans","llimones"})

    Finalment, deforma la fórmula COUNTIF a la funció SUM. És necessari perquè COUNTIF retornarà 3 recomptes individuals per a "pomes", "plàtans" i"llimons", i heu de sumar aquests recomptes.

    La nostra fórmula completa és la següent:

    =SUM(COUNTIF(A2:A10,{"apples","bananas","lemons"}))

    Si Preferiu proporcionar els vostres criteris com a referències d'interval , haureu d'introduir la fórmula amb Ctrl + Maj + Retorn per convertir-la en una fórmula matricial. Per exemple:

    =SUM(COUNTIF(A2:A10,F1:H1))

    Si us plau, tingueu en compte les claus a la captura de pantalla següent: és la indicació més evident d'una fórmula matricial a Excel:

    Fórmula 3. SUMPRODUCT

    Una altra manera de comptar cel·les amb lògica OR a Excel és utilitzar la funció SUMPRODUCT d'aquesta manera:

    SUMPRODUCT(1*( range= { criteri1, criteri2, criteri3, …}))

    Per visualitzar millor la lògica, això també es podria escriure com:

    SUMPRODUCT( ( interval= criteri1) + ( interval= criteri2) + …)

    La fórmula prova cada cel·la de l'interval amb cada criteri i retorna TRUE si es compleix el criteri, FALSE en cas contrari. Com a resultat intermedi, obteniu unes quantes matrius de valors VERDADERS i FALS (el nombre de matrius és igual al nombre dels vostres criteris). A continuació, s'afegeixen els elements de la matriu en la mateixa posició, és a dir, els primers elements de totes les matrius, els segons elements, etc. L'operació d'addició converteix els valors lògics en números, de manera que acabeu amb una matriu d'1 (un dels criteris coincideix) i 0 (cap dels criteris coincideix). Perquè tots els criteris ho sónprovat amb les mateixes cel·les, no hi ha manera que cap altre nombre pugui aparèixer a la matriu resultant: només una matriu inicial pot tenir TRUE en una posició específica, d'altres tindran FALSE. Finalment, SUMPRODUCT suma els elements de la matriu resultant i obteniu el recompte desitjat.

    La primera fórmula funciona de manera similar, amb la diferència que retorna una matriu bidimensional de valors TRUE i FALSE. , que multipliqueu per 1 per convertir els valors lògics a 1 i 0, respectivament.

    Aplicades al nostre conjunt de dades de mostra, les fórmules prenen la forma següent:

    =SUMPRODUCT(1*(A2:A10={"apples","bananas","lemons"}))

    O

    =SUMPRODUCT((A2:A10="apples") + (A2:A10="bananas") + (A2:A10="lemons"))

    Substituïu la constant matriu codificada per una referència d'interval i obtindreu una solució encara més elegant:

    =SUMPRODUCT(1*( A2:A10=F1:H1))

    Nota. La funció SUMPRODUCT és més lenta que COUNTIF, per això és millor utilitzar aquesta fórmula en conjunts de dades relativament petits.

    Comptar cel·les amb lògica OR i AND

    Quan es treballa amb dades grans conjunts que tenen relacions multinivell i creuats entre elements, és probable que hàgiu de comptar cel·les amb condicions OR i AND alhora.

    Com a exemple, anem a comptar amb "pomes" , "plàtans" i "llimons" que es "entreguen". Com ho fem? Per començar, traduïm les nostres condicions a l'idioma d'Excel:

    • Columna A: "pomes" o "plàtans" o "llimones"
    • Columna C: "entregada"

    Mirant des deun altre angle, hem de comptar les files amb "pomes i lliurades" O "plàtans i lliurades" O "llimons i lliurades". Dit d'aquesta manera, la tasca es redueix a comptar cel·les amb 3 condicions OR, exactament el que vam fer a la secció anterior! L'única diferència és que utilitzareu COUNTIFS en lloc de COUNTIF per avaluar el criteri AND dins de cada condició OR.

    Fórmula 1. COUNTIFS + COUNTIFS

    És la fórmula més llarga, que és la més fàcil d'escriure :)

    =COUNTIFS(A2:A10, "apples", C2:C10, "delivered") + COUNTIFS(A2:A10, "bananas", C2:C10, "delivered")) + COUNTIFS(A2:A10, "lemons", C2:C10, "delivered"))

    La captura de pantalla següent mostra la mateixa fórmula amb referències de cel·les:

    =COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Fórmula 2. COUNTIFS amb constant matriu

    Es pot crear una fórmula COUNTIFS més compacta amb lògica AND/OR empaquetant criteris OR en una constant matriu:

    =SUM(COUNTIFS(A2:A10, {"apples","bananas","lemons"}, C2:C10, "delivered"))

    Quan utilitzant una referència d'interval per als criteris, necessiteu una fórmula de matriu, completada prement Ctrl + Maj + Retorn :

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Consell. Si cal, podeu utilitzar comodins en els criteris de les fórmules comentades anteriorment. Per exemple, per comptar tot tipus de plàtans, com ara "plàtans verds" o "plàtans goldfinger", podeu utilitzar aquesta fórmula:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered"))

    De manera similar, podeu crear una fórmula per comptar cel·les basades en en altres tipus de criteris. Per exemple, per obtenir un recompte de "pomes" o "plàtans" o "llimones" que s'"entreguen" i la quantitat és superior a 200, afegiu un parell de criteris/interval de criteris més aCOUNTIFS:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered", B2:B10, ">200"))

    O utilitzeu aquesta fórmula de matriu (introduïda mitjançant Ctrl + Maj + Retorn ):

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Comptar cel·les amb diverses condicions OR

    A l'exemple anterior, heu après a provar un conjunt de condicions OR. Però, què passa si teniu dos o més conjunts i voleu obtenir un total de totes les relacions OR possibles?

    Depenent de quantes condicions hàgiu de gestionar, podeu utilitzar COUNTIFS amb una constant de matriu o SUMPRODUCT amb ISNUMBER MATCH. El primer és relativament fàcil de construir, però es limita a només 2 conjunts de condicions OR. Aquest últim pot avaluar qualsevol nombre de condicions (un nombre raonable, per descomptat, tenint en compte el límit d'Excel a 255 arguments i 8192 caràcters a la longitud total de la fórmula), però pot ser que calgui algun esforç per comprendre la lògica de la fórmula.

    Compteu cel·les amb 2 conjunts de condicions OR

    Quan es tracten només dos conjunts de criteris OR, només cal que afegiu una constant de matriu més a la fórmula COUNTIFS comentada anteriorment.

    Perquè la fórmula funcioni, una minut però cal un canvi crític: utilitzeu una matriu horitzontal (elements separats per comes) per a un conjunt de criteris i matriu vertical (elements separats per punt i coma) per a l'altre. Això diu a Excel que "emparell" o "calculi creuament" els elements de les dues matrius i retorni una matriu bidimensional dels resultats.

    Com a exemple, comptem "pomes", "plàtans" o"llimons" que es "entreguen" o "en trànsit":

    =SUM(COUNTIFS(A2:A10, {"apples", "bananas", "lemons"}, B2:B10, {"delivered"; "in transit"}))

    Tingueu en compte el punt i coma a la segona constant de matriu:

    Com que Excel és un programa de 2 dimensions, no és possible construir una matriu de 3 o 4 dimensions i, per tant, aquesta fórmula només funciona per a dos conjunts de criteris OR. Per comptar amb més criteris, haureu de canviar a una fórmula SUMPRODUCT més complexa que s'explica a l'exemple següent.

    Comptar cel·les amb diversos conjunts de condicions OR

    Per comptar cel·les amb més de dues conjunts de criteris OR, utilitzeu la funció SUMAPRODUCTE juntament amb ISNUMBER MATCH.

    Per exemple, obtenim un recompte de "pomes", "plàtans" o "llimones" que es "entreguen" o "en trànsit" i s'envasen en "bossa" o "safata":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"apples","bananas","lemons"},0))*

    ISNUMBER(MATCH(B2:B10,{"bossa","safata"},0))*

    ISNUMBER(COINCIDENT(C2:C10,{"entregat","en trànsit"},0)))

    Al cor de la fórmula, la funció COINCIDENT comprova els criteris comparant cada cel·la en l'interval especificat amb la constant de matriu corresponent. Si es troba la coincidència, retorna una posició relativa del valor si la matriu, N/A en cas contrari. ISNUMBER converteix aquests valors en TRUE i FALSE, que equivalen a 1 i 0, respectivament. SUMPRODUCT l'agafa d'allà i multiplica els elements de les matrius. Com que la multiplicació per zero dóna zero, només sobreviuen les cel·les que tenen 1 a totes les matrius ies resumeix.

    La captura de pantalla següent mostra el resultat:

    Així és com s'utilitzen les funcions COUNTIF i COUNTIFS a Excel per comptar cel·les amb múltiples AND com a així com les condicions OR. Per veure amb més detall les fórmules que es discuteixen en aquest tutorial, us convidem a descarregar el nostre quadern de treball de mostra a continuació. Us agraeixo la lectura i espero veure-us al nostre bloc la setmana vinent!

    Quader de pràctiques

    Excel COUNTIF amb condicions OR - exemples (fitxer .xlsx)

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.