Exceli COUNTIF ja COUNTIFS koos OR-loogikaga

  • Jaga Seda
Michael Brown

Õpetuses selgitatakse, kuidas kasutada Exceli funktsioone COUNTIF ja COUNTIFS, et lugeda lahtreid mitme VÕI-tingimusega, nt kui lahter sisaldab X, Y või Z.

Nagu kõik teavad, on Exceli funktsioon COUNTIF mõeldud lahtrite loendamiseks ainult ühe kriteeriumi alusel, samas kui COUNTIFS hindab mitut kriteeriumi AND-loogikaga. Aga mis siis, kui teie ülesanne nõuab OR-loogikat - kui on esitatud mitu tingimust, võib ükskõik milline neist sobida, et loendisse kaasata?

Selle ülesande lahendamiseks on mitu võimalikku lahendust ja selles õpetuses käsitletakse neid kõiki üksikasjalikult. Näited eeldavad, et teil on head teadmised mõlema funktsiooni süntaksist ja üldisest kasutamisest. Kui see pole nii, siis võiksite alustada põhitõdede kordamisega:

Exceli funktsioon COUNTIF - loeb lahtrid ühe kriteeriumiga.

Exceli funktsioon COUNTIFS - loeb lahtrid, millel on mitu AND-kriteeriumi.

Nüüd, kui kõik on ühel ja samal lehel, sukeldume sisse:

    Lugege lahtrid OR tingimustega Excelis

    Selles jaotises käsitletakse lihtsaimat stsenaariumi - loendatakse lahtrid, mis vastavad mis tahes (vähemalt ühele) kindlaksmääratud tingimusele.

    Valem 1. COUNTIF + COUNTIF

    Kõige lihtsam viis lahtrite loendamiseks, millel on üks või teine väärtus (Countif a või b ) on kirjutada tavaline COUNTIF-valem, et lugeda iga element eraldi ja seejärel liita tulemused:

    COUNTIF( vahemik , kriteerium1 ) + COUNTIF( vahemik , kriteerium2 )

    Näiteks selgitame välja, mitu lahtrit veerus A sisaldab kas "õunu" või "banaane":

    =COUNTIF(A:A, "õunad") + COUNTIF(A:A, "banaanid")

    Reaalsetes töölehtedes on hea tava tegutseda pigem vahemike kui tervete veergudega, et valem töötaks kiiremini. Et vältida vaeva oma valemi uuendamisega iga kord, kui tingimused muutuvad, kirjutage huvipakkuvad elemendid eelnevalt määratud lahtritesse, näiteks F1 ja G1, ja viidake nendele lahtritele. Näiteks:

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

    See tehnika töötab hästi paari kriteeriumi puhul, kuid kolme või enama COUNTIF-funktsiooni lisamine teeks valemi liiga kohmakaks. Sel juhul peaksite jääma mõne järgmise alternatiivi juurde.

    Valem 2. COUNTIF koos massiivi konstandiga

    Siin on kompaktsem versioon Exceli valemist SUMIF koos OR-tingimustega:

    SUM(COUNTIF( vahemik , { kriteerium1 , kriteerium2 , kriteerium3 , ...}))

    Valem on konstrueeritud järgmiselt:

    Kõigepealt pakendate kõik tingimused massiivi konstandiks - üksikud elemendid eraldatakse komadega ja massiivi ümbritsevad sulge, näiteks {"õunad", "banaanid", "sidrunid"}.

    Seejärel lisate massiivi konstandi kriteeriumid tavalise COUNTIF-valemi argument: COUNTIF(A2:A10, {"õunad", "banaanid", "sidrunid"})

    Lõpuks väänake COUNTIF valemit funktsioonis SUM. See on vajalik, sest COUNTIF tagastab 3 eraldi loendust "õunte", "banaanide" ja "sidrunite" kohta ning te peate need loendused kokku liita.

    Meie täielik valem on järgmine:

    =SUM(COUNTIF(A2:A10,{"õunad", "banaanid", "sidrunid"}))

    Kui soovite oma kriteeriumid esitada pigem vahemiku viited , peate sisestama valemi Ctrl + Shift + Enter, et muuta see massiivi valemiks. Näiteks:

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

    Pange tähele alloleval ekraanipildil olevaid kumerad sulgusid - see on kõige ilmsem märk massiivi valemist Excelis:

    Valem 3. SUMPRODUKT

    Teine võimalus lahtrite loendamiseks OR-loogikaga Excelis on kasutada funktsiooni SUMPRODUCT sellisel viisil:

    SUMPRODUCT(1*( vahemik ={ kriteerium1 , kriteerium2 , kriteerium3 , ...}))

    Loogika paremaks visualiseerimiseks võib seda kirjutada ka järgmiselt:

    SUMPRODUCT(( vahemik = kriteerium1 ) + ( vahemik = kriteerium2 ) + ...)

    Valem testib iga vahemiku iga lahtrit iga kriteeriumi suhtes ja tagastab TRUE, kui kriteerium on täidetud, vastasel juhul FALSE. Vahepealse tulemusena saad paar massiivi TRUE ja FALSE väärtustega (massiivi arv on võrdne sinu kriteeriumide arvuga). Seejärel liidetakse kokku samas positsioonis olevad massiivi elemendid, st kõigi massiivide esimesed elemendid, teise elemendi elemendid jne.liitmisoperatsioon teisendab loogilised väärtused numbriteks, nii et tulemuseks on üks massiivi, mis koosneb 1-st (üks kriteeriumidest vastab) ja 0-st (ükski kriteerium ei vasta). Kuna kõiki kriteeriume testitakse samade lahtrite suhtes, ei ole võimalik, et tulemuseks olevas massiivis oleks mõni muu number - ainult ühes algses massiivi positsioonis võib olla TRUE, teistes on FALSE. Lõpuks, SUMPRODUCTliidab saadud massiivi elemendid kokku ja saad soovitud arvu.

    Esimene valem töötab sarnaselt, kuid selle erinevusega, et see tagastab ühe 2-mõõtmelise massiivi väärtustest TRUE ja FALSE, mida korrutate 1ga, et teisendada loogilised väärtused vastavalt 1 ja 0.

    Rakendatuna meie näidisandmestikule võtavad valemid järgmise kuju:

    =SUMPRODUCT(1*(A2:A10={"õunad", "banaanid", "sidrunid"}))

    Või

    =SUMPRODUCT((A2:A10="õunad") + (A2:A10="banaanid") + (A2:A10="sidrunid"))

    Asendage kõvakooditud massiivi konstant vahemiku viitega ja saate veelgi elegantsema lahenduse:

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

    Märkus. Funktsioon SUMPRODUCT on aeglasem kui COUNTIF, mistõttu seda valemit on kõige parem kasutada suhteliselt väikeste andmekogumite puhul.

    Arvutage lahtrid nii OR- kui ka AND-loogikaga

    Kui töötate suurte andmekogumitega, millel on mitmetasandilised ja mitmetasandilised seosed elementide vahel, on tõenäoline, et teil on vaja lugeda korraga lahtreid OR- ja AND-tingimustega.

    Saame näiteks "tarnitud" "õunte", "banaanide" ja "sidrunite" arvu. Kuidas me seda teeme? Alustuseks tõlkige meie tingimused Exceli keelde:

    • Veerg A: "õunad" või "banaanid" või "sidrunid".
    • Veerg C: "tarnitud"

    Teisest vaatenurgast vaadates peame loendama ridu, kus on "õunad ja tarnitud" VÕI "banaanid ja tarnitud" VÕI "sidrunid ja tarnitud". Niimoodi öeldes taandub ülesanne 3 VÕI tingimusega lahtrite loendamisele - täpselt nii, nagu me tegime eelmises lõigus! Ainus erinevus on see, et kasutate COUNTIFS asemel COUNTIF, et hinnata AND-kriteeriumi igas VÕI tingimuses.

    Valem 1. COUNTIFS + COUNTIFS

    See on kõige pikem valem, mida on kõige lihtsam kirjutada :)

    =COUNTIFS(A2:A10, "õunad", C2:C10, "tarnitud") + COUNTIFS(A2:A10, "banaanid", C2:C10, "tarnitud")) + COUNTIFS(A2:A10, "sidrunid", C2:C10, "tarnitud"))

    Allpool olev ekraanipilt näitab sama valemit koos lahtrite viidetega:

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

    Valem 2. COUNTIFS koos massiivi konstandiga

    Kompaktsema COUNTIFS-valemi AND/OR-loogikaga saab luua, kui pakendada OR-kriteeriumid massiivi konstandiks:

    =SUM(COUNTIFS(A2:A10, {"õunad", "banaanid", "sidrunid"}, C2:C10, "tarnitud"))

    Kui kasutate kriteeriumide jaoks vahemikuviidet, vajate massiivi valemit, mis täidetakse vajutades Ctrl + Shift + Enter :

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

    Vihje. Vajaduse korral võite vabalt kasutada wildcards mis tahes eespool käsitletud valemite kriteeriumides. Näiteks, et lugeda kõikvõimalikke banaane, näiteks "rohelisi banaane" või "kuldkinga banaane", võite kasutada seda valemit:

    =SUM(COUNTIFS(A2:A10, {"õunad", "*banaanid*", "sidrunid"}, C2:C10, "tarnitud"))

    Samamoodi saate koostada valemi, et lugeda lahtreid teiste kriteeriumitüüpide alusel. Näiteks, et saada nende "õunte" või "banaanide" või "sidrunite" arv, mis on "tarnitud" ja mille summa on suurem kui 200, lisage COUNTIFS-ile veel üks kriteeriumide vahemik/kriteeriumide paar:

    =SUM(COUNTIFS(A2:A10, {"õunad", "*banaanid*", "sidrunid"}, C2:C10, "tarnitud", B2:B10, ">200"))

    Või kasutage seda massiivi valemit (sisestage Ctrl + Shift + Enter ):

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

    Arvutage rakke, millel on mitu VÕI tingimust

    Eelmises näites õppisite, kuidas testida ühte VÕI-tingimuste kogumit. Aga mis siis, kui teil on kaks või enam kogumit ja soovite saada kõigi võimalike VÕI-suhete summa?

    Sõltuvalt sellest, kui palju tingimusi on vaja käsitleda, saab kasutada kas COUNTIFS koos massiivi konstandiga või SUMPRODUCT koos ISNUMBER MATCHiga. Esimest on suhteliselt lihtne ehitada, kuid see on piiratud ainult 2 OR-tingimuse komplektiga. Viimane võib hinnata suvalist arvu tingimusi (mõistlik arv, arvestades muidugi Exceli piirangut 255 argumendile ja 8192 tähemärki valemite kogupikkusele),kuid selle valemi loogika mõistmiseks võib kuluda mõningaid pingutusi.

    Loendage rakke, millel on 2 komplekti VÕI-tingimusi

    Kui tegemist on ainult kahe VÕI-kriteeriumi komplektiga, lisage lihtsalt üks massiivi konstant eespool käsitletud COUNTIFS valemile.

    Valemi toimimiseks on vaja teha üks väike, kuid oluline muudatus: kasutada horisontaalne massiivi (komadega eraldatud elemendid) ühe kriteeriumikomplekti jaoks ja vertikaalne massiivi (semikooloniga eraldatud elemendid) teise jaoks. See ütleb Excelile, et ta "paaristab" või "ristkasutab" kahe massiivi elemente ja tagastab tulemustest koosneva kahemõõtmelise massiivi.

    Näiteks loeme "õunad", "banaanid" või "sidrunid", mis on kas "tarnitud" või "teel":

    =SUM(COUNTIFS(A2:A10, {"õunad", "banaanid", "sidrunid"}, B2:B10, {"tarnitud"; "teel"}))

    Pange tähele semikoolonit teises massiivi konstandis:

    Kuna Excel on 2-dimensiooniline programm, ei ole võimalik konstrueerida 3-dimensioonilist või 4-dimensioonilist massiivi ja seetõttu töötab see valem ainult kahe VÕI-kriteeriumi komplekti puhul. Et lugeda rohkemate kriteeriumidega, peate üle minema keerulisemale SUMPRODUCT-vormelile, mida selgitatakse järgmises näites.

    Loendage rakke, millel on mitu VÕI-tingimuse komplekti

    Kui soovite lugeda lahtreid, millel on rohkem kui kaks VÕI-kriteeriumi komplekti, kasutage funktsiooni SUMPRODUCT koos ISNUMBER MATCHiga.

    Näiteks loendame "õunad", "banaanid" või "sidrunid", mis on kas "tarnitud" või "teel" ja mis on pakendatud kas "kotti" või "salve":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"õunad", "banaanid", "sidrunid"},0))*

    ISNUMBER(MATCH(B2:B10,{"kott", "kandik"},0))*

    ISNUMBER(MATCH(C2:C10,{"tarnitud", "teel"},0)))

    Valemi südames kontrollib MATCH funktsioon kriteeriume, võrreldes iga lahtrit määratud vahemikus vastava massiivi konstantiga. Kui vastavus leitakse, siis tagastab ta väärtuse suhtelise positsiooni, kui massiivi, vastasel juhul N/A. ISNUMBER teisendab need väärtused TRUE ja FALSE, mis võrduvad vastavalt 1 ja 0. SUMPRODUCT võtab sealt edasi ja korrutab massiivielemendid. Kuna nulliga korrutamine annab nulli, jäävad alles ja summeeritakse ainult need lahtrid, mille arv on 1 kõigis massiivides.

    Allpool olev ekraanipilt näitab tulemust:

    Nii kasutate Excelis funktsioone COUNTIF ja COUNTIFS, et lugeda lahtreid nii mitme AND- kui ka OR-tingimusega. Et lähemalt tutvuda selles õpetuses käsitletud valemitega, olete oodatud alljärgneva näidistööraamatu allalaadimiseks. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Praktiline töövihik

    Exceli COUNTIF koos OR tingimustega - näited (.xlsx fail)

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.