Exceli IF-funktsioon mitme tingimusega

  • Jaga Seda
Michael Brown

Õpetuses näidatakse, kuidas luua Excelis mitu IF-avaldust nii AND- kui ka OR-loogikaga. Samuti saate teada, kuidas kasutada IF-i koos teiste Exceli funktsioonidega.

Meie Exceli IF-õpetuse esimeses osas vaatlesime, kuidas konstrueerida lihtsat IF-avaldust ühe tingimusega teksti, numbrite, kuupäevade, tühikute ja mitte tühikute jaoks. Võimsa andmeanalüüsi jaoks võib aga sageli olla vaja hinnata mitut tingimust korraga. Allpool toodud valemite näited näitavad teile kõige tõhusamaid viise, kuidas seda teha.

    Kuidas kasutada IF funktsiooni mitme tingimusega

    Sisuliselt on olemas kahte tüüpi IF valem mitme kriteeriumiga, mis põhineb AND / OR loogikal Järelikult peaksite oma IF-valemi loogilises testis kasutama ühte neist funktsioonidest:

    • AND funktsioon - tagastab TRUE kui kõik tingimused on täidetud; vastasel juhul FALSE.
    • OR funktsioon - tagastab TRUE kui mis tahes üksik tingimus on täidetud; vastasel juhul FALSE.

    Selle punkti paremaks illustreerimiseks uurime mõningaid reaalseid näiteid valemite kohta.

    Exceli IF avaldis mitme tingimusega (AND loogika)

    Exceli üldine valem IF kahe või enama tingimusega on järgmine:

    IF(AND( tingimus1 , tingimus2 , ...), value_if_true, value_if_false)

    Inimkeelde tõlgituna ütleb valem: Kui tingimus 1 on tõene JA tingimus 2 on tõene, tagasta value_if_true ; else return value_if_false .

    Oletame, et teil on tabel, kus on loetletud kahe testi tulemused veergudes B ja C. Lõpueksami sooritamiseks peab õpilase mõlema hinde väärtus olema suurem kui 50.

    Loogiliseks testiks kasutate järgmist AND avaldist: AND(B2>50, C2>50)

    Kui mõlemad tingimused on tõesed, annab valem tagasi "Pass"; kui mõni tingimus on vale - "Fail".

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    Lihtne, kas pole? Allpool olev ekraanipilt tõestab, et meie Exceli IF /AND valem töötab õigesti:

    Samamoodi saate kasutada Exceli IF-funktsiooni mitme teksti tingimused .

    Näiteks, et väljastada "Hea", kui nii B2 kui ka C2 on suuremad kui 50, ja "Halb", muidu on valem järgmine:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    Oluline märkus! AND-funktsioon kontrollib kõik tingimused , isegi kui juba testitud tingimus(ed) on andnud tulemuseks FALSE. Selline käitumine on veidi ebatavaline, sest enamikus programmeerimiskeeltes ei testita järgnevaid tingimusi, kui mõni eelmine test on andnud tulemuseks FALSE.

    Praktikas võib näiliselt korrektne IF avaldis selle eripära tõttu põhjustada vea. Näiteks allpool esitatud valem tagastaks #DIV/0! ("jaga nulliga" viga), kui lahter A2 on võrdne 0-ga:

    =IF(AND(A20, (1/A2)>0.5), "Hea", "Halb")

    Selle vältimiseks peaksite kasutama sisseehitatud IF-funktsiooni:

    =IF(A20, IF((1/A2)>0.5, "Hea", "Halb"), "Halb"), "Halb")

    Lisateavet leiate jaotisest IF AND valem Excelis.

    Exceli IF-funktsioon mitme tingimusega (OR-logika)

    Teha üks asi, kui mis tahes tingimus on täidetud, vastasel juhul tehke midagi muud, kasutage seda IF ja OR funktsioonide kombinatsiooni:

    IF(OR( tingimus1 , tingimus2 , ...), value_if_true, value_if_false)

    Erinevus eespool käsitletud IF / AND valemiga võrreldes seisneb selles, et Excel tagastab TRUE, kui mõni määratud tingimustest on tõene.

    Niisiis, kui me kasutame eelmises valemis AND asemel OR:

    =IF(OR(B2>50, B2>50), "Pass", "Fail")

    Siis saavad kõik, kellel on kummalgi eksamil rohkem kui 50 punkti, veerus D "Pass". Sellistel tingimustel on meie õpilastel paremad võimalused lõpueksami sooritamiseks (eriti õnnetu on Yvette, kes jääb läbi vaid 1 punktiga :)

    Vihje. Juhul, kui te loote mitu IF avaldust koos tekstiga ja testida väärtust ühes lahtris VÕI-loogikaga (st lahter võib olla "see" või "see"), siis saate luua kompaktsema valemi, kasutades massiivi konstanti.

    Näiteks, et märkida müük "lõpetatud", kui lahtris B2 on kas "tarnitud" või "makstud", on valem järgmine:

    =IF(OR(B2={"tarnitud", "makstud"}), "Suletud", "")

    Rohkem valemite näiteid leiate Exceli IF OR-funktsioonist.

    IF koos mitme AND & OR avaldustega

    Kui teie ülesanne nõuab mitme mitme tingimuse kogumi hindamist, peate kasutama korraga mõlemat AND & OR funktsiooni.

    Oletame, et meie näidistabelis on eksamitulemuste kontrollimiseks järgmised kriteeriumid:

    • Tingimus 1: eksam1>50 ja eksam2>50
    • Tingimus 2: eksam1>40 ja eksam2>60

    Kui kumbki tingimus on täidetud, loetakse lõpueksam sooritatuks.

    Esmapilgul tundub see valem veidi keeruline, kuid tegelikult ei ole see seda! Te lihtsalt väljendate iga ülaltoodud tingimust AND avaldisena ja pesitsete need OR funktsioonis (kuna ei ole vaja täita mõlemat tingimust, piisab mõlemast):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    Seejärel kasutage loogilise testi IF jaoks funktsiooni OR ja esitage soovitud value_if_true ja value_if_false väärtused. Tulemusena saate järgmise IF-vormeli mitme AND / OR-tingimusega:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

    Allpool olev ekraanipilt näitab, et oleme valemi õigesti teinud:

    Loomulikult ei ole te piiratud ainult kahe AND/OR funktsiooni kasutamisega oma IF-vormelites. Te võite kasutada neid nii palju, kui teie äriloogika seda nõuab, tingimusel, et:

    • Excel 2007 ja uuemates versioonides ei ole teil rohkem kui 255 argumenti ja IF-valemi kogupikkus ei ületa 8192 tähemärki.
    • Excel 2003 ja madalamates versioonides ei ole rohkem kui 30 argumenti ja teie IF-valemi kogupikkus ei ületa 1024 tähemärki.

    Mitme loogilise testi kontrollimiseks sisseehitatud IF avaldis

    Kui soovite ühe valemi sees hinnata mitut loogilist testi, siis võite pesitseda mitu funktsiooni üksteise sisse. Selliseid funktsioone nimetatakse sisseehitatud IF-funktsioonid Need osutuvad eriti kasulikuks, kui soovite tagastada erinevaid väärtusi sõltuvalt loogiliste testide tulemustest.

    Siin on tüüpiline näide: oletame, et soovite kvalifitseerida õpilaste saavutusi kui " Hea ", " Rahuldav " ja " Vaene " järgmiste punktide alusel:

    • Hea: 60 või rohkem (>=60)
    • Rahuldav: vahemikus 40-60 (>40 ja <60)
    • Kehv: 40 või vähem (<=40)

    Enne valemi kirjutamist kaaluge, millises järjekorras funktsioone kavatsete pesitseda. Excel hindab loogilisi teste selles järjekorras, milles need valemis esinevad. Kui üks tingimus annab tulemuse TRUE, siis järgnevaid tingimusi ei testita, st valem lõpetab pärast esimest TRUE tulemust.

    Meie puhul on funktsioonid järjestatud suurimast väikseimale:

    =IF(B2>=60, "Hea", IF(B2>40, "Rahuldav", "Halb"))

    Loomulikult saab vajadusel lisada rohkem funktsioone (moodsates versioonides kuni 64).

    Lisateavet leiate jaotisest Kuidas kasutada Excelis mitut sisseehitatud IF-avaldust.

    Exceli IF-massiivi valem mitme tingimusega

    Teine võimalus Exceli IF-i mitme tingimuse testimiseks on kasutada massiivi valemit.

    Tingimuste hindamiseks AND-loogikaga kasutage tärni:

    IF( tingimus1 ) * ( tingimus2 ) * ..., value_if_true, value_if_false)

    Tingimuste testimiseks VÕI-loogikaga kasutage plussmärki:

    IF( tingimus1 ) + ( tingimus2 ) + ..., value_if_true, value_if_false)

    Massiivivalemi korrektseks täitmiseks vajutage klahve Ctrl + Shift + Enter koos. Excel 365-s ja Excel 2021-s töötab see ka tavalise valemina tänu dünaamiliste massiivide toetusele.

    Näiteks, kui mõlemad B2 ja C2 on suuremad kui 50, siis on valem "Pass", kui mõlemad B2 ja C2 on suuremad kui 50:

    =IF((B2>50) * (C2>50), "Pass", "Fail")

    Minu Excel 365-s töötab tavaline valem suurepäraselt (nagu näete ülaltoodud ekraanipiltidel). Excel 2019-is ja madalamates versioonides tuleb meeles pidada, et teete sellest massiivi valemi, kasutades Ctrl + Shift + Enter kiirklahvi.

    Mitme tingimuse hindamiseks VÕI-loogika abil on valem:

    =IF((B2>50) + (C2>50), "Pass", "Fail")

    IF-i kasutamine koos teiste funktsioonidega

    Selles jaotises selgitatakse, kuidas kasutada IF-i koos teiste Exceli funktsioonidega ja milliseid eeliseid see teile annab.

    Näide 1. Kui #N/A viga VLOOKUPis

    Kui VLOOKUP või muu otsingufunktsioon ei leia midagi, tagastab ta vea #N/A. Et teie tabelid näeksid ilusamalt välja, võite tagastada nulli, tühja või konkreetse teksti, kui #N/A. Selleks kasutage seda üldist valemit:

    IF(ISNA(VLOOKUP(...)), value_if_na , VLOOKUP(...))

    Näiteks:

    Kui #N/A tagastab 0:

    Kui otsinguväärtust E1 ei leita, tagastab valem nulli.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    Kui #N/A, siis tagastage tühi:

    Kui otsinguväärtust ei leita, ei tagasta valem midagi (tühi string).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Kui #N/A tagastab teatud teksti:

    Kui otsinguväärtust ei leita, tagastab valem konkreetse teksti.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Ei leitud", VLOOKUP(E1, A2:B10, 2, FALSE))

    Rohkem valemite näiteid vt VLOOKUP koos IF-avaldusega Excelis.

    Näide 2. IF koos funktsioonidega SUM, AVERAGE, MIN ja MAX

    Sellide väärtuste summeerimiseks teatud kriteeriumide alusel pakub Excel funktsioone SUMIF ja SUMIFS.

    Mõningates olukordades võib teie äriloogika nõuda funktsiooni SUMMA lisamist IF loogilisse testimisse. Näiteks, et tagastada erinevad tekstisildid sõltuvalt B2 ja C2 väärtuste summast, on valem:

    =IF(SUM(B2:C2)>130, "Hea", IF(SUM(B2:C2)>110, "Rahuldav", "Halb"))

    Kui summa on suurem kui 130, on tulemus "hea"; kui suurem kui 110 - "rahuldav", kui 110 või väiksem - "halb".

    Samamoodi saab funktsiooni AVERAGE integreerida IF loogilisse testimisse ja tagastada erinevaid sildid, mis põhinevad keskmisel skooril:

    =IF(AVERAGE(B2:C2)>65, "Hea", IF(AVERAGE(B2:C2)>55, "Rahuldav", "Halb"))

    Eeldades, et kogusumma on veerus D, saate määrata suurima ja väikseima väärtuse funktsioonide MAX ja MIN abil:

    =IF(D2=MAX($D$2:$D$10), "Parim tulemus", "")

    =IF(D2=MAX($D$2:$D$10), "Parim tulemus", "")

    Et mõlemad sildid oleksid ühes veerus, pesitsege ülaltoodud funktsioonid üksteise sisse:

    =IF(D2=MAX($D$2:$D$10), "Parim tulemus", IF(D2=MIN($D$2:$D$10), "Halvim tulemus", ""))

    Samamoodi saate kasutada IF-i koos oma kohandatud funktsioonidega. Näiteks võite kombineerida seda funktsiooniga GetCellColor või GetCellFontColor, et tagastada erinevaid tulemusi lahtri värvi alusel.

    Lisaks pakub Excel mitmeid funktsioone andmete arvutamiseks tingimuste alusel. Üksikasjalike valemite näiteid leiate järgmistest juhendmaterjalidest:

    • COUNTIF - loeb rakke, mis vastavad tingimusele
    • COUNTIFS - loendab mitme kriteeriumiga rakke
    • SUMIF - tingimuslik lahtrite summeerimine
    • SUMIFS - mitme kriteeriumiga lahtrite summeerimine

    Näide 3. IF koos ISNUMBERi, ISTEXTi ja ISBLANKiga

    Teksti, numbrite ja tühjade lahtrite tuvastamiseks pakub Microsoft Excel spetsiaalseid funktsioone, nagu ISTEXT, ISNUMBER ja ISBLANK. Paigutades need kolme sisseehitatud IF-avalduse loogilistesse testidesse, saate kõik erinevad andmetüübid ühe korraga tuvastada:

    =IF(ISTEXT(A2), "Tekst", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", ""))))

    Näide 4. IF ja CONCATENATE

    IF-i ja mõne teksti tulemuse väljastamiseks ühte lahtrisse kasutage funktsioone CONCATENATE või CONCAT (Excel 2016 - 365) ja IF koos. Näiteks:

    =CONCATENATE("Sa esinesid ", IF(B1>100, "fantastiliselt!", IF(B1>50, "hästi", "halvasti")))

    =CONCAT("Sa esinesid ", IF(B1>100, "fantastiliselt!", IF(B1>50, "hästi", "halvasti")))

    Vaadates allolevat ekraanipilti, on vaevalt vaja selgitada, mida see valem teeb:

    IF ISERROR / ISNA valem Excelis

    Exceli tänapäevastes versioonides on olemas spetsiaalsed funktsioonid vigade püüdmiseks ja nende asendamiseks mõne teise arvutuse või etteantud väärtusega - IFERROR (Excel 2007 ja uuemad) ja IFNA (Excel 2013 ja uuemad). Varasemates Exceli versioonides saate selle asemel kasutada kombinatsioone IF ISERROR ja IF ISNA.

    Erinevus seisneb selles, et IFERROR ja ISERROR käsitlevad kõiki võimalikke Exceli vigu, sealhulgas #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! ja #NULL!. IFNA ja ISNA on spetsialiseerunud ainult #N/A vigadele.

    Näiteks, et asendada viga "jaga nulliga" (#DIV/0!) oma kohandatud tekstiga, võite kasutada järgmist valemit:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    Ja see on kõik, mida mul on öelda IF-funktsiooni kasutamisest Excelis. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Praktiline töövihik allalaadimiseks

    Excel IF mitu kriteeriumi - 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.