"Excel" funkcija IF su keliomis sąlygomis

  • Pasidalinti
Michael Brown

Mokomojoje programoje parodyta, kaip "Excel" programoje sukurti kelis IF teiginius su AND ir OR logika. Taip pat sužinosite, kaip naudoti IF kartu su kitomis "Excel" funkcijomis.

Pirmoje "Excel IF" vadovėlio dalyje apžvelgėme, kaip sudaryti paprastą IF teiginį su viena sąlyga tekstui, skaičiams, datoms, tuštiems ir ne tuštiems langeliams. Tačiau norint atlikti galingą duomenų analizę, dažnai gali prireikti vienu metu įvertinti kelias sąlygas. Toliau pateiktuose formulių pavyzdžiuose rasite veiksmingiausius būdus, kaip tai padaryti.

    Kaip naudoti funkciją IF su keliomis sąlygomis

    Iš esmės yra dviejų tipų IF formulė su keliais kriterijais pagal AND / OR logiką . Taigi, atlikdami loginį IF formulės testą, turėtumėte naudoti vieną iš šių funkcijų:

    • Funkcija AND - grąžina TRUE, jei visos sąlygos yra įvykdytos; priešingu atveju - FALSE.
    • OR funkcija - grąžina TRUE, jei bet kuri atskira sąlyga atitinka; priešingu atveju - FALSE.

    Norėdami geriau iliustruoti šią mintį, panagrinėkime keletą realių formulių pavyzdžių.

    "Excel" IF teiginys su keliomis sąlygomis (AND logika)

    Bendroji "Excel" IF formulė su dviem ar daugiau sąlygų yra tokia:

    IF(IR( sąlyga1 , sąlyga2 , ...), value_if_true, value_if_false)

    Išvertus į žmonių kalbą, formulė skamba taip: Jei 1 sąlyga yra teisinga IR 2 sąlyga yra teisinga, grąžinkite value_if_true ; kitaip grąžinti value_if_false .

    Tarkime, turite lentelę, kurios stulpeliuose B ir C surašyti dviejų testų rezultatai. Kad išlaikytų baigiamąjį egzaminą, mokinio abiejų testų rezultatai turi būti didesni nei 50.

    Loginiam testui atlikti naudojamas toks AND teiginys: AND(B2>50, C2>50)

    Jei abi sąlygos yra teisingos, formulė grąžins "Patenkinta", jei kuri nors sąlyga yra klaidinga - "Nepatenkinta".

    =IF(AND(B2>50, B2>50), "Įskaityta", "Neįskaityta")

    Lengva, ar ne? Toliau pateikta ekrano nuotrauka įrodo, kad mūsų "Excel" IF /AND formulė veikia teisingai:

    Panašiai galite naudoti "Excel" funkciją IF su keliais teksto sąlygos .

    Pavyzdžiui, jei B2 ir C2 yra didesni nei 50, o kitu atveju - "blogas", formulė yra tokia:

    =IF(AND(B2="įskaityta", C2="įskaityta"), "Gerai!", "Blogai")

    Svarbi pastaba! Funkcija AND tikrina visos sąlygos , net jei jau patikrintas (-os) testas (-ai) buvo įvertintas (-i) FALSE. Toks elgesys yra šiek tiek neįprastas, nes daugumoje programavimo kalbų vėlesnės sąlygos nėra tikrinamos, jei kuris nors iš ankstesnių testų grąžino FALSE.

    Praktikoje iš pažiūros teisingas IF teiginys dėl šio ypatumo gali būti klaidingas. Pavyzdžiui, toliau pateikta formulė grąžintų #DIV/0! (klaida "dalyti iš nulio"), jei ląstelė A2 būtų lygi 0:

    =IF(AND(A20, (1/A2)>0,5), "Geras", "Blogas")

    Kad to išvengtumėte, turėtumėte naudoti įterptinę IF funkciją:

    =IF(A20, IF((1/A2)>0,5, "Geras", "Blogas"), "Blogas")

    Daugiau informacijos rasite skyriuje IF IR formulė programoje "Excel".

    "Excel" IF funkcija su keliomis sąlygomis (OR logika)

    Daryti vieną dalyką, jei bet kokia sąlyga yra įvykdyta, kitu atveju darykite ką nors kita, naudokite šį IF ir OR funkcijų derinį:

    IF(ARBA( sąlyga1 , sąlyga2 , ...), value_if_true, value_if_false)

    Skirtumas nuo pirmiau aptartos IF / AND formulės yra tas, kad "Excel" grąžina TRUE, jei bet kuri iš nurodytų sąlygų yra teisinga.

    Taigi, jei ankstesnėje formulėje vietoj AND naudosime OR:

    =IF(OR(B2>50, B2>50), "Įskaityta", "Neįskaityta")

    Tuomet kiekvienas, surinkęs daugiau nei 50 taškų iš bet kurio egzamino, D skiltyje gaus "Įskaityta". Esant tokioms sąlygoms, mūsų mokiniai turi daugiau šansų išlaikyti baigiamąjį egzaminą (Yvette ypač nepasisekė, ji neišlaikė egzamino vos 1 tašku :)

    Patarimas. Jei kuriate Keli IF teiginiai su tekstu ir tikrinant vieno langelio reikšmę su OR logika (t. y. langelis gali būti "šis" arba "šis"), tada galite sukurti kompaktiškesnę formulę naudodami masyvo konstantą.

    Pavyzdžiui, norint pažymėti pardavimą kaip "uždarytą", jei ląstelėje B2 yra "pristatytas" arba "apmokėtas", formulė yra tokia:

    =IF(ARBA(B2={"pristatyta", "apmokėta"}), "Uždaryta", "")

    Daugiau formulių pavyzdžių rasite "Excel" IF OR funkcijoje.

    IF su keliais teiginiais AND & amp; OR

    Jei užduočiai atlikti reikia įvertinti kelis kelių sąlygų rinkinius, vienu metu turėsite naudoti abi AND & amp; OR funkcijas.

    Tarkime, kad mūsų pavyzdinėje lentelėje pateikti tokie egzaminų rezultatų tikrinimo kriterijai:

    • 1 sąlyga: egzaminas1>50 ir egzaminas2>50
    • 2 sąlyga: egzaminas1>40 ir egzaminas2>60

    Jei įvykdoma bet kuri iš šių sąlygų, galutinis egzaminas laikomas išlaikytu.

    Iš pirmo žvilgsnio ši formulė atrodo šiek tiek sudėtinga, tačiau iš tikrųjų taip nėra! Tiesiog išreikškite kiekvieną iš minėtų sąlygų kaip AND teiginį ir įterpkite jas į OR funkciją (kadangi nebūtina, kad būtų tenkinamos abi sąlygos, pakanka bet kurios iš jų):

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

    Tada loginiam IF testui naudokite OR funkciją ir pateikite norimą value_if_true ir value_if_false rezultatas - gaunama tokia IF formulė su keliomis AND / OR sąlygomis:

    =IF(ARBA(AND(B2>50, C2>50), AND(B2>40, C2>60), "Įskaityta", "Neįskaityta")

    Iš toliau pateiktos ekrano nuotraukos matyti, kad formulę nustatėme teisingai:

    Žinoma, savo IF formulėse galite naudoti ne tik dvi AND/OR funkcijas. Jų galite naudoti tiek, kiek reikia jūsų verslo logikai, su sąlyga, kad:

    • Programoje "Excel 2007" ir naujesnėse versijose galite pateikti ne daugiau kaip 255 argumentus, o bendras IF formulės ilgis neviršija 8 192 simbolių.
    • Programoje "Excel 2003" ir žemesnėse versijose gali būti ne daugiau kaip 30 argumentų, o bendras jūsų IF formulės ilgis neturi viršyti 1024 simbolių.

    Įterptinis IF teiginys keliems loginiams testams tikrinti

    Jei vienoje formulėje norite įvertinti kelis loginius testus, galite įterpti kelias funkcijas vieną į kitą. Tokios funkcijos vadinamos įterptinės IF funkcijos Jie ypač naudingi, kai norite grąžinti skirtingas reikšmes, priklausomai nuo loginių testų rezultatų.

    Štai tipiškas pavyzdys: tarkime, kad mokinių pasiekimus norite apibūdinti kaip " Geras ", " Patenkinamai " ir " Prastas " pagal šiuos balus:

    • Gerai: 60 arba daugiau (>=60)
    • Patenkinamai: nuo 40 iki 60 (>40 ir <60)
    • Prastas: 40 arba mažiau (<=40)

    Prieš rašydami formulę apsvarstykite, kokia tvarka ketinate įterpti funkcijas. "Excel" įvertins loginius testus tokia tvarka, kokia jie pateikiami formulėje. Kai sąlyga įvertinama kaip TRUE, tolesnės sąlygos netikrinamos, t. y. formulė nutraukiama po pirmojo TRUE rezultato.

    Mūsų atveju funkcijos išdėstytos nuo didžiausios iki mažiausios:

    =IF(B2>=60, "Geras", IF(B2>40, "Patenkinamas", "Prastas"))

    Žinoma, jei reikia, galite įterpti daugiau funkcijų (šiuolaikinėse versijose - iki 64).

    Daugiau informacijos rasite skyriuje Kaip naudoti kelis įterptinius IF teiginius "Excel" programoje.

    "Excel" IF masyvo formulė su keliomis sąlygomis

    Kitas būdas "Excel" IF testuoti kelias sąlygas - naudoti masyvo formulę.

    Jei norite įvertinti sąlygas naudodami AND logiką, naudokite žvaigždutę:

    IF( sąlyga1 ) * ( sąlyga2 ) * ..., value_if_true, value_if_false)

    Jei norite patikrinti sąlygas naudodami OR logiką, naudokite pliuso ženklą:

    IF( sąlyga1 ) + ( sąlyga2 ) + ..., value_if_true, value_if_false)

    Norėdami teisingai užbaigti masyvo formulę, kartu paspauskite klavišus Ctrl + Shift + Enter. Programose "Excel 365" ir "Excel 2021" dėl dinaminių masyvų palaikymo tai veikia ir kaip įprasta formulė.

    Pavyzdžiui, jei B2 ir C2 yra didesni nei 50, formulė yra tokia:

    =IF((B2>50) * (C2>50), "Įskaityta", "Neįskaityta")

    Mano "Excel 365" programoje įprasta formulė veikia puikiai (kaip matote pirmiau pateiktose ekrano nuotraukose). "Excel 2019" ir žemesnėse programose nepamirškite, kad formulę reikia paversti masyvo formule naudojant spartųjį klavišą Ctrl + Shift + Enter.

    Norint įvertinti kelias sąlygas naudojant OR logiką, formulė yra tokia:

    =IF((B2>50) + (C2>50), "Įskaityta", "Neįskaityta")

    IF naudojimas kartu su kitomis funkcijomis

    Šiame skyriuje paaiškinama, kaip naudoti IF kartu su kitomis "Excel" funkcijomis ir kokią naudą tai suteikia.

    1 pavyzdys. Jei #N/A klaida VLOOKUP

    Kai VLOOKUP ar kita paieškos funkcija negali ko nors rasti, ji grąžina klaidą #N/A. Kad lentelės atrodytų gražiau, galite grąžinti nulį, tuščią vietą arba tam tikrą tekstą, jei #N/A. Tam naudokite šią bendrą formulę:

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

    Pavyzdžiui:

    Jei #N/A, grąžinama 0:

    Jei E1 paieškos vertė nerandama, formulė grąžina nulį.

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

    Jei #N/A, grąžinkite tuščią langą:

    Jei paieškos reikšmė nerandama, formulė negrąžina nieko (tuščią eilutę).

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

    Jei #N/A, grąžinamas tam tikras tekstas:

    Jei paieškos reikšmė nerandama, formulė grąžina konkretų tekstą.

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

    Daugiau formulių pavyzdžių rasite skyriuje VLOOKUP su IF sakiniu "Excel" programoje.

    2 pavyzdys. IF su SUM, AVERAGE, MIN ir MAX funkcijomis

    Jei norite sumuoti ląstelių reikšmes pagal tam tikrus kriterijus, "Excel" yra funkcijos SUMIF ir SUMIFS.

    Kai kuriais atvejais jūsų verslo logikai gali prireikti į loginį IF testą įtraukti funkciją SUM. Pavyzdžiui, norint grąžinti skirtingas teksto etiketes, priklausomai nuo B2 ir C2 reikšmių sumos, formulė yra tokia:

    =IF(SUM(B2:C2)>130, "Geras", IF(SUM(B2:C2)>110, "Patenkinamas", "Prastas"))

    Jei suma didesnė nei 130, rezultatas yra "geras", jei didesnė nei 110 - "patenkinamas", jei 110 arba mažesnė - "blogas".

    Panašiai galite įterpti funkciją AVERAGE į loginį testą IF ir grąžinti skirtingas etiketes pagal vidutinį rezultatą:

    =IF(AVERAGE(B2:C2)>65, "Geras", IF(AVERAGE(B2:C2)>55, "Patenkinamas", "Prastas"))

    Darant prielaidą, kad bendras rezultatas yra D stulpelyje, naudodami funkcijas MAX ir MIN galite nustatyti didžiausią ir mažiausią vertę:

    =IF(D2=MAX($D$2:$D$10), "Geriausias rezultatas", "")

    =IF(D2=MAX($D$2:$D$10), "Geriausias rezultatas", "")

    Jei norite, kad abi etiketės būtų viename stulpelyje, įterpkite pirmiau nurodytas funkcijas vieną į kitą:

    =IF(D2=MAX($D$2:$D$10), "Geriausias rezultatas", IF(D2=MIN($D$2:$D$10), "Blogiausias rezultatas", ""))

    Taip pat galite naudoti IF kartu su pasirinktinėmis funkcijomis. Pavyzdžiui, galite ją derinti su GetCellColor arba GetCellFontColor, kad grąžintumėte skirtingus rezultatus pagal langelio spalvą.

    Be to, "Excel" pateikiama nemažai funkcijų duomenims apskaičiuoti pagal sąlygas. Išsamių formulių pavyzdžių rasite šiuose vadovėliuose:

    • COUNTIF - suskaičiuokite ląsteles, kurios atitinka sąlygą
    • COUNTIFS - skaičiuoti ląsteles pagal kelis kriterijus
    • SUMIF - sąlygiškai sumuokite langelius
    • SUMIFS - sumuokite langelius su keliais kriterijais

    3 pavyzdys. IF su ISNUMBER, ISTEXT ir ISBLANK

    Tekstui, skaičiams ir tuštiems langeliams identifikuoti "Microsoft Excel" suteikia specialias funkcijas, pavyzdžiui, ISTEXT, ISNUMBER ir ISBLANK. Įterpę jas į trijų įterptinių IF teiginių loginius testus, galite vienu ypu identifikuoti visus skirtingus duomenų tipus:

    =IF(ISTEXT(A2), "Tekstas", IF(ISNUMBER(A2), "Skaičius", IF(ISBLANK(A2), "Tuščia", ""))))

    4 pavyzdys. IF ir CONCATENATE

    Norėdami į vieną langelį išvesti IF rezultatą ir tam tikrą tekstą, kartu naudokite CONCATENATE arba CONCAT (programoje "Excel 2016 - 365") ir IF funkcijas. Pvz:

    =CONCATENATE("Jūs atlikote ", IF(B1>100, "fantastiška!", IF(B1>50, "gerai", "prastai"))))

    =CONCAT("Jūs atlikote ", IF(B1>100, "fantastiškai!", IF(B1>50, "gerai", "prastai"))))

    Pažiūrėję į toliau pateiktą ekrano nuotrauką, vargu ar jums reikės aiškinti, ką daro formulė:

    IF ISERROR / ISNA formulė programoje "Excel

    Šiuolaikinėse "Excel" versijose yra specialios funkcijos, skirtos klaidoms fiksuoti ir pakeisti jas kitu skaičiavimu arba iš anksto nustatyta verte - IFERROR (programoje "Excel 2007" ir vėlesnėse versijose) ir IFNA (programoje "Excel 2013" ir vėlesnėse versijose). Ankstesnėse "Excel" versijose vietoj jų galite naudoti kombinacijas IF ISERROR ir IF ISNA.

    Skirtumas tas, kad IFERROR ir ISERROR tvarko visas įmanomas "Excel" klaidas, įskaitant #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! ir #NULL!, o IFNA ir ISNA specializuojasi tik #N/A klaidų tvarkyme.

    Pavyzdžiui, norėdami pakeisti klaidą "dalyti iš nulio" (#DIV/0!) pasirinktiniu tekstu, galite naudoti šią formulę:

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

    Ir tai viskas, ką turiu pasakyti apie funkcijos IF naudojimą "Excel" programoje. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!

    Atsisiųsti praktikos sąsiuvinį

    "Excel" IF keli kriterijai - pavyzdžiai (.xlsx failas)

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.