Ynhâldsopjefte
De tutorial lit sjen hoe't jo meardere IF-útspraken meitsje kinne yn Excel mei EN lykas OR-logika. Jo sille ek leare hoe't jo IF brûke tegearre mei oare Excel-funksjes.
Yn it earste diel fan ús Excel IF-tutorial hawwe wy sjoen hoe't jo in ienfâldige IF-statement konstruearje mei ien betingst foar tekst, nûmers, datums, blanks en net-blanks. Foar krêftige data-analyze moatte jo lykwols faaks meardere betingsten tagelyk evaluearje moatte. De ûndersteande formulefoarbylden sille jo de meast effektive manieren sjen litte om dit te dwaan.
Hoe kinne jo de IF-funksje brûke mei meardere betingsten
Yn essinsje binne d'r twa soarten fan de IF formule mei meardere kritearia basearre op de EN / OF logika . Dêrtroch moatte jo yn 'e logyske test fan jo IF-formule ien fan dizze funksjes brûke:
- AND-funksje - jout TRUE werom as alle betingsten foldien binne; FALSE oars.
- OF-funksje - jout TRUE werom as oan ien inkelde betingst foldien wurdt; FALSE oars.
Om it punt better te yllustrearjen, litte wy wat foarbylden fan echte formules ûndersykje.
Excel IF-statement mei meardere betingsten (EN logika)
De generyske formule fan Excel IF mei twa of mear betingsten is dit:
IF(EN( betingst1, betingst2, …), value_if_true, value_if_false)Oersetten yn in minske taal, seit de formule: As betingst 1 wier is EN betingst 2 wier is, werom wearde_as_wier ; else return value_if_false .
Stel dat jo in tabel hawwe mei de skoares fan twa tests yn kolommen B en C. Om it eineksamen te slagjen, moat in studint beide skoares grutter hawwe as 50.
Foar de logyske test brûke jo de folgjende AND-stelling: AND(B2>50, C2>50)
As beide betingsten wier binne, sil de formule "Pass" weromjaan; as ien betingst falsk is - "Fail".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Easy, is it net? It skermôfbylding hjirûnder bewiist dat ús Excel IF /EN-formule goed wurket:
Op in fergelykbere manier kinne jo de Excel IF-funksje brûke mei meardere tekstbetingsten .
Foar bygelyks, om "Goed" út te fieren as sawol B2 as C2 grutter binne as 50, "Min" oars is de formule:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Wichtige opmerking! De AND-funksje kontrolearret alle betingsten , sels as de al hifke ien(en) evaluearre is op FALSE. Sok gedrach is in bytsje ûngewoan, om't yn 'e measte programmeartalen de folgjende betingsten net wurde hifke as ien fan 'e foarige tests FALSE hat weromjûn.
Yn 'e praktyk kin in skynber korrekte IF-ferklearring resultearje yn in flater fanwegen dit spesifisiteit. Bygelyks, de ûndersteande formule soe #DIV/0 werombringe! ("diel troch nul" flater) as sel A2 lyk is oan 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Om dit te foarkommen, moatte jo in geneste IF-funksje brûke:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
Sjoch foar mear ynformaasje IF EN formule yn Excel.
Excel IF funksje mei mearderebetingsten (OF logika)
Om ien ding te dwaan as elke betingst foldien wurdt, oars dwaan wat oars, brûk dizze kombinaasje fan de IF- en OR-funksjes:
IF(OR( betingst1 , betingst2 , …), value_if_true, value_if_false)It ferskil mei de hjirboppe besprutsen IF / AND formule is dat Excel TRUE jout as ien fan 'e opjûne betingsten wier is.
Dus, as wy yn 'e foarige formule OR brûke ynstee fan AND:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Dan sil elkenien dy't mear as 50 punten hat yn beide eksamens "Pass" krije yn kolom D. Mei sokke betingsten hawwe ús learlingen in bettere kâns om it eineksamen te slagjen (Yvette hat benammen pech dat se mar 1 punt falle :)
Tip. As jo in meardere IF-statement meitsje mei tekst en in wearde yn ien sel testen mei de OR-logika (dus in sel kin "dit" of "dat") wêze, dan kinne jo in kompakter bouwe formule mei in arraykonstante.
Om bygelyks in ferkeap as "sletten" te markearjen as sel B2 "levere" of "betelle" is, is de formule:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Mear formulefoarbylden kinne fûn wurde yn Excel IF OR funksje.
IF mei meardere EN & amp; OR útspraken
As jo taak fereasket in evaluaasje fan ferskate sets fan meardere betingsten, do silst moatte benutte sawol EN & amp; OR-funksjes tagelyk.
Stel yn ús foarbyldtabel dat jo de folgjende kritearia hawwe foar it kontrolearjen fan de eksamenresultaten:
- Betingst 1:eksamen1>50 en eksamen2>50
- Betingst 2: eksamen1>40 en eksamen2>60
As ien fan 'e betingsten foldien wurdt, wurdt it eineksamen beskôge as slagge.
Op it earste gesicht liket de formule in bytsje lestich, mar yn feite is it net! Jo uterje elk fan 'e boppesteande betingsten gewoan as in EN-útspraak en nêst se yn' e OF-funksje (omdat it net nedich is om oan beide betingsten te foldwaan, sil ien fan beide foldwaan):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Dan brûke jo de OR-funksje foar de logyske test fan IF en leverje de winske value_if_true en value_if_false wearden. As resultaat krije jo de folgjende IF-formule mei meardere EN/OF-betingsten:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
De skermprint hjirûnder jout oan dat wy de formule goed dien hawwe:
Natuerlik , jo binne net beheind ta it brûken fan mar twa EN/OF-funksjes yn jo IF-formules. Jo kinne safolle fan har brûke as jo bedriuwslogika fereasket, op betingst dat:
- Yn Excel 2007 en heger hawwe jo net mear as 255 arguminten, en de totale lingte fan 'e IF-formule net grutter is as 8.192 tekens.
- Yn Excel 2003 en leger binne d'r net mear as 30 arguminten, en de totale lingte fan jo IF-formule is net mear as 1.024 tekens.
Nêste IF-ferklearring oan kontrolearje meardere logyske tests
As jo meardere logyske tests binnen ien formule evaluearje wolle, dan kinne jo ferskate funksjes yn elkoar nêstje. Sokke funksjes wurde nêst neamdIF-funksjes . Se binne benammen nuttich as jo ferskillende wearden weromjaan wolle ôfhinklik fan 'e resultaten fan' e logyske tests.
Hjir is in typysk foarbyld: stel dat jo de prestaasjes fan 'e learlingen kwalifisearje wolle as " Goed ", " Befredigjend " en " Min " basearre op de folgjende skoares:
- Goed: 60 of mear (>=60)
- Befredigjend: tusken 40 en 60 (>40 en <60)
- Min: 40 of minder (<=40)
Besjoch de folchoarder foardat jo in formule skriuwe fan funksjes dy't jo sille nêst. Excel sil de logyske tests evaluearje yn 'e folchoarder dy't se yn' e formule ferskine. Sadree't in betingst evaluearret nei TRUE, wurde de folgjende betingsten net hifke, wat betsjuttet dat de formule stopt nei it earste TRUE-resultaat.
Yn ús gefal binne de funksjes regele fan grut nei lyts:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Natuerlik kinne jo mear funksjes nêst as nedich (oant 64 yn moderne ferzjes).
Sjoch foar mear ynformaasje hoe't jo meardere geneste IF-útspraken brûke yn Excel.
Excel IF-arrayformule mei meardere betingsten
In oare manier om in Excel IF te testen meardere betingsten is troch in arrayformule te brûken.
Om betingsten te evaluearjen mei de EN-logika, brûk de asterisk:
IF( betingst1 ) * ( betingst2 ) * …, value_if_true, value_if_false)Om betingsten te testen mei de OR-logika, brûk it plusteken:
IF( betingst1 ) + ( betingst2 ) + …,value_if_true, value_if_false)Om in arrayformule goed te foltôgjen, druk de Ctrl + Shift + Enter-toetsen tegearre. Yn Excel 365 en Excel 2021 wurket dit ek as in reguliere formule troch stipe foar dynamyske arrays.
Om bygelyks "Pass" te krijen as sawol B2 as C2 grutter binne as 50, is de formule:
=IF((B2>50) * (C2>50), "Pass", "Fail")
Yn myn Excel 365 wurket in normale formule krekt goed (lykas jo kinne sjen yn 'e skermôfbyldings hjirboppe). Yn Excel 2019 en leger, tink om it in array-formule te meitsjen troch de fluchtoets Ctrl + Shift + Enter te brûken.
Om meardere betingsten te evaluearjen mei de OR-logika is de formule:
=IF((B2>50) + (C2>50), "Pass", "Fail")
It brûken fan IF tegearre mei oare funksjes
Dizze paragraaf ferklearret hoe't jo IF brûke yn kombinaasje mei oare Excel-funksjes en hokker foardielen dit jo jout.
Foarbyld 1. As #N /A flater yn VLOOKUP
As VLOOKUP of oare opsykfunksje wat net kin fine, jout it in #N/A flater werom. Om jo tabellen moaier te meitsjen, kinne jo nul, lege of spesifike tekst weromjaan as #N/A. Brûk hjirfoar dizze generyske formule:
IF(ISNA(VLOOKUP(...)), value_if_na , VLOOKUP(...))Bygelyks:
As #N/ In weromkomming 0:
As de opsykwearde yn E1 net fûn wurdt, jout de formule nul werom.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
As #N/A leech jout:
As de opsykwearde net fûn wurdt, jout de formule neat werom (in lege tekenrige).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
As #N/A bepaalde tekst werombringt:
As de lookup wearde is net fûn, deformule jout spesifike tekst werom.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Sjoch foar mear formulefoarbylden VLOOKUP mei IF statement yn Excel.
Foarbyld 2. IF mei SUM, AVERAGE, MIN en MAX funksjes
Om selwearden op basis fan bepaalde kritearia op te tellen, leveret Excel de SUMIF- en SUMIFS-funksjes.
Yn guon situaasjes kin jo bedriuwslogika nedich wêze om de SUM-funksje yn 'e logyske test fan IF op te nimmen. Om bygelyks ferskillende tekstlabels werom te jaan ôfhinklik fan de som fan de wearden yn B2 en C2, is de formule:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
As de som grutter is as 130, is it resultaat "goed" "; as grutter dan 110 - "befredigjend", as 110 of minder - "min".
Op in fergelykbere wize kinne jo de AVERAGE-funksje ynbêde yn 'e logyske test fan IF en ferskate labels weromjaan op basis fan 'e gemiddelde skoare :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
As oannommen dat de totale skoare yn kolom D stiet, kinne jo de heechste en leechste wearden identifisearje mei help fan de MAX- en MIN-funksjes:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Om beide labels yn ien kolom te hawwen, nêst de boppesteande funksjes inoar yn 'e oare:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
Lyksa kinne jo IF brûke tegearre mei jo oanpaste Jo kinne it bygelyks kombinearje mei GetCellColor of GetCellFontColor om ferskate resultaten werom te jaan op basis fan in selkleur.
Dêrneist biedt Excel in oantal funksjes om gegevens te berekkenjen op basis fan betingsten. Foar detaillearre formulefoarbylden, kontrolearje asjebleaft it folgjendetutorials:
- COUNTIF - telle sellen dy't foldogge oan in betingst
- COUNTIFS - telle sellen mei meardere kritearia
- SUMIF - betingst som sellen
- SUMIFS - som sellen mei meardere kritearia
Foarbyld 3. IF mei ISNUMBER, ISTEXT en ISBLANK
Om tekst, sifers en lege sellen te identifisearjen, biedt Microsoft Excel spesjale funksjes lykas ISTEXT, ISNUMBER en ISBLANK. Troch se te pleatsen yn 'e logyske tests fan trije geneste IF-útspraken, kinne jo alle ferskillende gegevenstypen yn ien kear identifisearje:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Foarbyld 4. IF en CONCATENATE
Om útfier it resultaat fan IF en wat tekst yn ien sel, brûk de CONCATENATE of CONCAT (yn Excel 2016 - 365) en IF funksjes tegearre. Bygelyks:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Sjoch nei de skermôfdruk hjirûnder, dan hoege jo amper útlis fan wat de formule docht:
IF ISERROR / ISNA-formule yn Excel
De moderne ferzjes fan Excel hawwe spesjale funksjes om flaters te fangen en te ferfangen mei in oare berekkening of foarôf definieare wearde - IFERROR (yn Excel 2007 en letter) en IFNA (yn Excel 2013 en letter). Yn eardere Excel-ferzjes kinne jo ynstee de IF ISERROR- en IF ISNA-kombinaasjes brûke.
It ferskil is dat IFERROR en ISERROR alle mooglike Excel-flaters behannelje, ynklusyf #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0!, en #NULL!. Wylst IFNA en ISNA allinnich spesjalisearje yn #N/A flaters.
Bygelyks omferfange de flater "diel troch nul" (#DIV/0!) mei jo oanpaste tekst, kinne jo de folgjende formule brûke:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
En dat is alles wat ik te sizzen haw oer it brûken fan de IF-funksje yn Excel. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!
Oefeningswurkboek foar download
Excel IF meardere kritearia - foarbylden (.xlsx-bestân)