Enhavtabelo
La lernilo montras kiel krei plurajn IF-deklarojn en Excel kun AND kaj ankaŭ OR-logiko. Ankaŭ, vi lernos kiel uzi IF kune kun aliaj Excel-funkcioj.
En la unua parto de nia Excel-IF-lernilo, ni rigardis kiel konstrui simplan IF-deklaron kun unu kondiĉo por teksto, nombroj, datoj, malplenaj kaj neblankoj. Por potenca datuma analizo, tamen, vi eble ofte bezonos taksi plurajn kondiĉojn samtempe. La subaj formulekzemploj montros al vi la plej efikajn manierojn fari tion.
Kiel uzi IF-funkcion kun pluraj kondiĉoj
Esence, ekzistas du specoj de la IF-formulo kun multoblaj kriterioj bazitaj sur la logiko AND/OR . Sekve, en la logika testo de via IF-formulo, vi devus uzi unu el ĉi tiuj funkcioj:
- KAJ funkcio - liveras VERA se ĉiuj kondiĉoj estas plenumitaj; FALSA alie.
- OR-funkcio - liveras VERA se iun ununura kondiĉo estas plenumita; FALSA alie.
Por pli bone ilustri la aferon, ni esploru kelkajn ekzemplojn de realvivaj formuloj.
Excel IF-aserto kun pluraj kondiĉoj (KAJ logiko)
La senmarka formulo de Excel IF kun du aŭ pli da kondiĉoj estas jena:
IF(KAJ ( kondiĉo1, kondiĉo2, …), valoro_se_vera, valoro_se_malvera)Tradukita en homon lingvo, la formulo diras: Se kondiĉo 1 estas vera KAJ kondiĉo 2 estas vera, revenu valoro_se_vera ; alie redonu valoro_se_malvera .
Supozi vi havas tabelon listiganta la poentarojn de du testoj en kolumnoj B kaj C. Por trapasi la finan ekzamenon, studento devas havi ambaŭ poentojn pli ol 50.
Por la logika testo, vi uzas la jenan AND-diron: KAJ(B2>50, C2>50)
Se ambaŭ kondiĉoj estas veraj, la formulo redonos "Pass"; se iu kondiĉo estas falsa - "Malsukcesas".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Facile, ĉu ne? La suba ekrankopio pruvas, ke nia Excel IF /AND-formulo funkcias ĝuste:
Simile, vi povas uzi la funkcion Excel IF kun pluraj tekstaj kondiĉoj .
Por ekzemple, por eligi "Bona" se kaj B2 kaj C2 estas pli grandaj ol 50, "Malbona" alie, la formulo estas:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Grava noto! La AND-funkcio kontrolas ĉiujn kondiĉojn , eĉ se la jam testita(j)n taksas MALSA. Tia konduto estas iom nekutima ĉar en la plej multaj programlingvoj, postaj kondiĉoj ne estas testitaj se iu el la antaŭaj testoj revenis FALSE.
Praktike, ŝajne ĝusta IF aserto povas rezultigi eraron pro tio. specifeco. Ekzemple, la suba formulo redonus #DIV/0! ("dividu per nul" eraro) se ĉelo A2 estas egala al 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Evitu ĉi tion, vi devus uzi nestitan IF-funkcion:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
Por pliaj informoj, bonvolu vidi IF KAJ formulo en Excel.
Excel IF-funkcio kun multoblajkondiĉoj (OR-logiko)
Por fari unu aferon se iu ajn kondiĉo estas plenumita, alie faru ion alian, uzu ĉi tiun kombinaĵon de la funkcioj IF kaj OR:
IF(OR( kondiĉo1 , kondiĉo2 , …), valoro_se_vera, valoro_se_malvera)La diferenco de la formulo SE / KAJ supre diskutita estas, ke Excel liveras VERA se iu el la specifitaj kondiĉoj estas vera.
Do, se en la antaŭa formulo, ni uzas AŬ anstataŭ KAJ:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Tiam ĉiu, kiu havas pli ol 50 poentojn en ambaŭ ekzamenoj, ricevos "Sukcesi" en kolumno D. Kun tiaj kondiĉoj, niaj studentoj havas pli bonan ŝancon trapasi la finan ekzamenon (Yvette aparte malbonŝanca malsukcesis je nur 1 poento :)
Konsileto. Se vi kreas multoblan IF-programon kun teksto kaj testas valoron en unu ĉelo kun la OR-logiko (t.e. ĉelo povas esti "ĉi" aŭ "tio"), tiam vi povas konstrui pli kompaktan formulo uzante tabelkonstanton.
Ekzemple, por marki vendon kiel "fermita" se ĉelo B2 estas aŭ "liverita" aŭ "pagita", la formulo estas:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Pliaj formulekzemploj troveblas en Excel IF OR-funkcio.
IF kun multoblaj AND & AŬ deklaroj
Se via tasko postulas taksi plurajn arojn de multoblaj kondiĉoj, vi devos uzi ambaŭ KAJ & AŬ funkcias samtempe.
En nia specimena tabelo, supozu, ke vi havas la jenajn kriteriojn por kontroli la ekzamenrezultojn:
- Kondiĉo 1:ekzameno1>50 kaj ekzameno2>50
- Kondiĉo 2: ekzameno1>40 kaj ekzameno2>60
Se iu el la kondiĉoj estas plenumita, la fina ekzameno estas konsiderata trapasita.
Unuavide, la formulo ŝajnas iom malfacila, sed fakte ne estas! Vi nur esprimas ĉiun el la ĉi-supraj kondiĉoj kiel KAJ deklaro kaj nestu ilin en la OR-funkcio (ĉar ne necesas plenumi ambaŭ kondiĉojn, ambaŭ sufiĉos):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Do, uzu la OR-funkcion por la logika testo de IF kaj liveru la deziratajn valoro_se_vera kaj valoro_se_malvera . Kiel rezulto, vi ricevas la sekvan IF-formulon kun multoblaj AND/OR-kondiĉoj:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
La ekrankopio malsupre indikas, ke ni faris la formulon ĝuste:
Nature , vi ne estas limigita uzi nur du funkciojn AND/OR en viaj IF-formuloj. Vi povas uzi tiom da el ili kiom postulas via komerca logiko, kondiĉe ke:
- En Excel 2007 kaj pli, vi ne havas pli ol 255 argumentojn, kaj la totala longo de la IF-formulo ne superas. 8,192 signoj.
- En Excel 2003 kaj pli malaltaj, estas ne pli ol 30 argumentoj, kaj la totala longo de via IF-formulo ne superas 1,024 signoj.
Nestita IF-deklaro al kontroli plurajn logikajn testojn
Se vi volas taksi plurajn logikajn testojn ene de ununura formulo, tiam vi povas nesti plurajn funkciojn unu en la alian. Tiajn funkciojn oni nomas nestitajSE funkcioj . Ili montriĝas precipe utilaj kiam vi volas redoni malsamajn valorojn depende de la rezultoj de la logikaj testoj.
Jen tipa ekzemplo: supozu, ke vi volas kvalifiki la atingojn de la studentoj kiel " Bona ", " Kontentiga " kaj " Malbona " surbaze de la sekvaj poentoj:
- Bona: 60 aŭ pli (>=60)
- Kontentiga: inter 40 kaj 60 (>40 kaj <60)
- Malbona: 40 aŭ malpli (<=40)
Antaŭ ol skribi formulon, konsideru la ordon; de funkcioj, kiujn vi nestos. Excel taksos la logikajn testojn en la ordo, kiam ili aperas en la formulo. Post kiam kondiĉo taksas VERA, la postaj kondiĉoj ne estas testitaj, tio signifas, ke la formulo ĉesas post la unua VERA rezulto.
En nia kazo, la funkcioj estas aranĝitaj de plej granda ĝis plej malgranda:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Nature, vi povas nesti pli da funkcioj se necese (ĝis 64 en modernaj versioj).
Por pliaj informoj, bonvolu vidi Kiel uzi plurajn nestitajn IF-deklarojn en Excel.
Excel-IF-tabelformulo kun pluraj kondiĉoj
Alia maniero akiri Excel IF por testi multoblaj kondiĉoj estas uzante tabelformulon.
Por taksi kondiĉojn kun la AND-logiko, uzu la asteriskon:
IF( kondiĉo1 ) * ( kondiĉo2 ) * …, valoro_se_vera, valoro_se_malvera)Por testi kondiĉojn kun la OR-logiko, uzu la plus-signon:
IF( kondiĉo1 ) + ( kondiĉo2 ) + …,value_if_true, value_if_false)Por kompletigi tabelan formulon ĝuste, premu la klavojn Ctrl + Shift + Enigu kune. En Excel 365 kaj Excel 2021, ĉi tio ankaŭ funkcias kiel regula formulo pro subteno por dinamikaj tabeloj.
Ekzemple, por ricevi "Pass" se ambaŭ B2 kaj C2 estas pli grandaj ol 50, la formulo estas:
=IF((B2>50) * (C2>50), "Pass", "Fail")
En mia Excel 365, normala formulo funkcias bone (kiel vi povas vidi en la supraj ekrankopioj). En Excel 2019 kaj pli malaltaj, memoru fari ĝin tabelformulo per la klavkomo Ctrl + Shift + Enigu.
Por taksi plurajn kondiĉojn per la OR-logiko, la formulo estas:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Uzado de IF kune kun aliaj funkcioj
Ĉi tiu sekcio klarigas kiel uzi IF en kombinaĵo kun aliaj Excel-funkcioj kaj kiajn avantaĝojn tio donas al vi.
Ekzemplo 1. Se #N /Eraro en VLOOKUP
Kiam VLOOKUP aŭ alia serĉfunkcio ne povas trovi ion, ĝi liveras #N/A eraro. Por ke viaj tabeloj aspektu pli bela, vi povas redoni nulon, malplenan aŭ specifan tekston se #N/A. Por tio, uzu ĉi tiun ĝeneralan formulon:
IF(ISNA(VLOOKUP(…)), valoro_se_na , VLOOKUP(…))Ekzemple:
Se #N/ Reveno 0:
Se la serĉvaloro en E1 ne estas trovita, la formulo donas nulon.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Se #N/A redonas malplena:
Se la serĉvaloro ne estas trovita, la formulo liveras nenion (malplenan ĉenon).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Se #N/A redonas certan tekston:
Se la serĉvaloro ne estas trovita, laformulo liveras specifan tekston.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Por pliaj formulekzemploj, bonvolu vidi VLOOKUP kun IF deklaro en Excel.
Ekzemplo 2. IF kun SUM, AVERAGE, MIN kaj MAX funkcioj
Por sumi ĉelvalorojn surbaze de certaj kriterioj, Excel provizas la funkciojn SUMIF kaj SUMIFS.
En iuj situacioj, via komerca logiko povas postuli inkluzivi la funkcion SUM en la logika testo de IF. Ekzemple, por redoni malsamajn tekstajn etikedojn depende de la sumo de la valoroj en B2 kaj C2, la formulo estas:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Se la sumo estas pli granda ol 130, la rezulto estas "bona". "; se pli granda ol 110 – "kontentiga", se 110 aŭ malpli - "malbona".
Simile, vi povas enmeti la MESAJN funkcion en la logika testo de IF kaj redoni malsamajn etikedojn bazitajn sur la averaĝa poentaro. :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Supozinte, ke la totala poentaro estas en kolumno D, vi povas identigi la plej altajn kaj plej malaltajn valorojn helpe de la funkcioj MAX kaj MIN:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Por havi ambaŭ etikedojn en unu kolumno, nestu la suprajn funkciojn unu en la alian:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
Same, vi povas uzi IF kune kun via kutimo. funkcioj. Ekzemple, vi povas kombini ĝin kun GetCellColor aŭ GetCellFontColor por redoni malsamajn rezultojn bazitajn sur ĉela koloro.
Krome, Excel provizas kelkajn funkciojn por kalkuli datumojn surbaze de kondiĉoj. Por detalaj formulekzemploj, bonvolu kontroli la jenajnlerniloj:
- COUNTIF - nombri ĉelojn kiuj plenumas kondiĉon
- COUNTIFS - nombri ĉelojn kun multoblaj kriterioj
- SUMIF - kondiĉe sumu ĉelojn
- SUMIFS - sumu ĉelojn kun multoblaj kriterioj
Ekzemplo 3. SE kun ISNUMBER, ISTEXT kaj ISBLANK
Por identigi tekston, nombrojn kaj malplenajn ĉelojn, Microsoft Excel disponigas specialajn funkciojn kiel ISTEXT, ISNUMBER kaj ISLANK. Metante ilin en la logikaj testoj de tri nestitaj IF-deklaroj, vi povas identigi ĉiujn malsamajn datumtipojn unufoje:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Ekzemplo 4. IF kaj KONKATENI
Al eligu la rezulton de SE kaj iom da teksto en unu ĉelon, uzu la funkciojn CONCATENATE aŭ CONCAT (en Excel 2016 - 365) kaj IF kune. Ekzemple:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Rigardante la ekrankopion sube, vi apenaŭ bezonos klarigon pri tio, kion faras la formulo:
SE ESTAS ERARO. / ISNA-formulo en Excel
La modernaj versioj de Excel havas specialajn funkciojn por kapti erarojn kaj anstataŭigi ilin per alia kalkulo aŭ antaŭdifinita valoro - IFERROR (en Excel 2007 kaj poste) kaj IFNA (en Excel 2013 kaj poste). En pli fruaj Excel-versioj, vi povas uzi la kombinaĵojn IF ISERROR kaj IF ISNA anstataŭe.
La diferenco estas, ke IFERROR kaj ISERROR pritraktas ĉiujn eblajn Excel-erarojn, inkluzive de #VALORO!, #N/A, #NOMO?, #REF!, #NUM!, #DIV/0!, kaj #NULL!. Dum IFNA kaj ISNA specialiĝas nur pri #N/A eraroj.
Ekzemple, alanstataŭigu la eraron "dividi per nul" (#DIV/0!) per via propra teksto, vi povas uzi la jenan formulon:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
Kaj nur tion mi devas diri pri uzado de la SE funkcio en Excel. Mi dankas vin pro legado kaj esperas vidi vin en nia blogo venontsemajne!
Praktiku laborlibron por elŝuto
Excel IF multoblaj kriterioj - ekzemploj (.xlsx-dosiero)