Talaan ng nilalaman
Ipinapakita ng tutorial kung paano gumawa ng maramihang IF statement sa Excel gamit ang AND pati na rin ang OR logic. Gayundin, matututunan mo kung paano gamitin ang IF kasama ng iba pang mga function ng Excel.
Sa unang bahagi ng aming tutorial sa Excel IF, tiningnan namin kung paano bumuo ng simpleng IF statement na may isang kundisyon para sa text, mga numero, petsa, blangko at hindi blangko. Para sa mahusay na pagsusuri ng data, gayunpaman, maaaring kailanganin mong suriin ang maraming kundisyon nang sabay-sabay. Ipapakita sa iyo ng mga halimbawa ng formula sa ibaba ang pinakamabisang paraan para gawin ito.
Paano gamitin ang function ng IF na may maraming kundisyon
Sa esensya, mayroong dalawang uri ng IF formula na may maraming pamantayan batay sa AND / OR logic . Dahil dito, sa lohikal na pagsubok ng iyong IF formula, dapat mong gamitin ang isa sa mga function na ito:
- AND function - nagbabalik ng TRUE kung lahat ng kundisyon ay natutugunan; FALSE kung hindi.
- OR function - nagbabalik ng TRUE kung anumang solong kundisyon ay natugunan; FALSE kung hindi.
Upang mas mahusay na mailarawan ang punto, siyasatin natin ang ilang mga halimbawa ng real-life formula.
Excel IF statement na may maraming kundisyon (AT logic)
Ang generic na formula ng Excel IF na may dalawa o higit pang kundisyon ay ito:
IF(AND( condition1, condition2, …), value_if_true, value_if_false)Isinalin sa isang tao wika, ang formula ay nagsasabing: Kung ang kundisyon 1 ay totoo AT ang kundisyon 2 ay totoo, ibalik value_if_true ; else ibalik ang value_if_false .
Ipagpalagay na mayroon kang isang talahanayan na naglilista ng mga marka ng dalawang pagsusulit sa column B at C. Upang makapasa sa huling pagsusulit, ang isang mag-aaral ay dapat magkaroon ng parehong mga marka na higit sa 50.
Para sa lohikal na pagsubok, gagamitin mo ang sumusunod na AND statement: AND(B2>50, C2>50)
Kung totoo ang parehong kundisyon, ibabalik ng formula ang "Pass"; kung mali ang anumang kundisyon - "Fail".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Madali lang, di ba? Ang screenshot sa ibaba ay nagpapatunay na ang aming Excel IF /AND formula ay gumagana nang tama:
Sa katulad na paraan, maaari mong gamitin ang Excel IF function na may maraming mga kundisyon ng text .
Para sa halimbawa, upang i-output ang "Maganda" kung ang parehong B2 at C2 ay mas malaki sa 50, "Masama" kung hindi, ang formula ay:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Mahalagang tala! Sinusuri ng function na AND ang lahat ng kundisyon , kahit na ang (mga) nasubok na ay nasuri sa FALSE. Ang ganitong pag-uugali ay medyo hindi pangkaraniwan dahil sa karamihan ng mga programming language, ang mga kasunod na kundisyon ay hindi sinusubok kung alinman sa mga nakaraang pagsubok ang nagbalik ng FALSE.
Sa pagsasagawa, ang isang tila tamang IF na pahayag ay maaaring magresulta sa isang error dahil dito pagtitiyak. Halimbawa, ang formula sa ibaba ay magbabalik ng #DIV/0! ("divide by zero" error) kung ang cell A2 ay katumbas ng 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Para maiwasan ito, dapat kang gumamit ng nested IF function:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
Para sa higit pang impormasyon, pakitingnan ang IF AND formula sa Excel.
Excel IF function na may maramihangkundisyon (OR logic)
Upang gawin ang isang bagay kung ang anumang kundisyon ay natugunan, kung hindi ay gumawa ng iba pa, gamitin ang kumbinasyong ito ng IF at OR function:
IF(OR( condition1 , condition2 , …), value_if_true, value_if_false)Ang pagkakaiba sa IF / AND formula na tinalakay sa itaas ay ang Excel ay nagbabalik ng TRUE kung ang alinman sa mga tinukoy na kundisyon ay totoo.
Kaya, kung sa nakaraang formula, ginagamit namin ang OR sa halip na AND:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Kung gayon ang sinumang may higit sa 50 puntos sa alinmang pagsusulit ay makakakuha ng "Pass" sa column D. Sa ganitong mga kundisyon, mas malaki ang tsansa ng ating mga mag-aaral na makapasa sa huling pagsusulit (lalo na si Yvette ay hindi pinalad na bumagsak ng 1 puntos lang :)
Tip. Kung sakaling gagawa ka ng multiple IF statement na may text at sumusubok ng value sa isang cell na may OR logic (i.e. ang isang cell ay maaaring "ito" o "iyon"), maaari kang bumuo ng mas compact formula na gumagamit ng array constant.
Halimbawa, upang markahan ang isang benta bilang "sarado" kung ang cell B2 ay "ipinadala" o "binayaran", ang formula ay:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Mas maraming halimbawa ng formula ang makikita sa Excel IF OR function.
IF na may maramihang AND & O mga pahayag
Kung ang iyong gawain ay nangangailangan ng pagsusuri ng ilang hanay ng maraming kundisyon, kakailanganin mong gamitin ang parehong AT & O gumagana nang sabay-sabay.
Sa aming sample na talahanayan, ipagpalagay na mayroon kang sumusunod na pamantayan para sa pagsuri sa mga resulta ng pagsusulit:
- Kondisyon 1:exam1>50 at exam2>50
- Kondisyon 2: exam1>40 at exam2>60
Kung matugunan ang alinman sa mga kundisyon, ang panghuling pagsusulit ay ituturing na pasado.
Sa unang tingin, ang formula ay tila medyo nakakalito, ngunit sa katunayan ay hindi! Ipapahayag mo lang ang bawat isa sa mga kundisyon sa itaas bilang isang AND statement at ilalagay ang mga ito sa OR function (dahil hindi kinakailangan na matugunan ang parehong kundisyon, alinman ay sapat na):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Pagkatapos, gamitin ang OR function para sa lohikal na pagsubok ng IF at ibigay ang nais na value_if_true at value_if_false value. Bilang resulta, makukuha mo ang sumusunod na IF formula na may maraming AND / OR na kundisyon:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Isinasaad ng screenshot sa ibaba na ginawa namin nang tama ang formula:
Natural , hindi ka limitado sa paggamit lamang ng dalawang AT/O function sa iyong mga IF formula. Maaari mong gamitin ang marami sa mga ito ayon sa hinihingi ng lohika ng iyong negosyo, sa kondisyon na:
- Sa Excel 2007 at mas mataas, mayroon kang hindi hihigit sa 255 na argumento, at ang kabuuang haba ng IF formula ay hindi lalampas 8,192 character.
- Sa Excel 2003 at mas mababa, hindi hihigit sa 30 argumento, at ang kabuuang haba ng iyong IF formula ay hindi lalampas sa 1,024 character.
Nested IF statement sa suriin ang maraming lohikal na pagsubok
Kung gusto mong suriin ang maramihang lohikal na pagsubok sa loob ng iisang formula, maaari kang maglagay ng ilang function sa isa't isa. Ang mga naturang function ay tinatawag na nestedIF function . Ang mga ito ay partikular na kapaki-pakinabang kapag nais mong ibalik ang iba't ibang mga halaga depende sa mga resulta ng mga lohikal na pagsusulit.
Narito ang isang karaniwang halimbawa: ipagpalagay na gusto mong gawing kwalipikado ang mga nagawa ng mga mag-aaral bilang " Mahusay ", " Kasiya-siya " at " Mahina " batay sa mga sumusunod na marka:
- Maganda: 60 o higit pa (>=60)
- Kasiya-siya: sa pagitan ng 40 at 60 (>40 at <60)
- Mahina: 40 o mas mababa (<=40)
Bago magsulat ng formula, isaalang-alang ang pagkakasunud-sunod ng mga function na pupuntahan mo. Susuriin ng Excel ang mga lohikal na pagsubok sa pagkakasunud-sunod ng paglitaw ng mga ito sa formula. Kapag ang isang kundisyon ay naging TRUE, ang mga kasunod na kundisyon ay hindi nasusubok, ibig sabihin, ang formula ay hihinto pagkatapos ng unang TRUE na resulta.
Sa aming kaso, ang mga function ay nakaayos mula sa pinakamalaki hanggang sa pinakamaliit:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Natural, maaari kang maglagay ng higit pang mga function kung kinakailangan (hanggang 64 sa mga modernong bersyon).
Para sa higit pang impormasyon, pakitingnan ang Paano gumamit ng maraming nested IF statement sa Excel.
Excel IF array formula na may maraming kundisyon
Isa pang paraan upang makakuha ng Excel IF na susubok ang maraming kundisyon ay sa pamamagitan ng paggamit ng array formula.
Upang suriin ang mga kundisyon gamit ang AND logic, gamitin ang asterisk:
IF( condition1 ) * ( condition2 ) * …, value_if_true, value_if_false)Upang subukan ang mga kundisyon gamit ang OR logic, gamitin ang plus sign:
IF( condition1 ) + ( condition2 ) + …,value_if_true, value_if_false)Upang makumpleto nang tama ang isang array formula, pindutin ang Ctrl + Shift + Enter key nang magkasama. Sa Excel 365 at Excel 2021, gumagana rin ito bilang isang regular na formula dahil sa suporta para sa mga dynamic na array.
Halimbawa, para makakuha ng "Pass" kung parehong mas malaki sa 50 ang B2 at C2, ang formula ay:
=IF((B2>50) * (C2>50), "Pass", "Fail")
Sa aking Excel 365, gumagana nang maayos ang isang normal na formula (tulad ng makikita mo sa mga screenshot sa itaas). Sa Excel 2019 at mas mababa, tandaan na gawin itong array formula sa pamamagitan ng paggamit ng Ctrl + Shift + Enter shortcut.
Upang suriin ang maraming kundisyon gamit ang OR logic, ang formula ay:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Paggamit ng IF kasama ng iba pang mga function
Ipinapaliwanag ng seksyong ito kung paano gamitin ang IF kasama ng iba pang mga function ng Excel at kung anong mga benepisyo ang ibinibigay nito sa iyo.
Halimbawa 1. Kung #N /Isang error sa VLOOKUP
Kapag walang mahanap ang VLOOKUP o iba pang function ng paghahanap, nagbabalik ito ng #N/A error. Upang gawing mas maganda ang iyong mga talahanayan, maaari mong ibalik ang zero, blangko, o partikular na text kung #N/A. Para dito, gamitin ang generic na formula na ito:
IF(ISNA(VLOOKUP(…)), value_if_na , VLOOKUP(…))Halimbawa:
If #N/ Isang return 0:
Kung hindi makita ang lookup value sa E1, ang formula ay magbabalik ng zero.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Kung #N/A ibabalik na blangko:
Kung hindi matagpuan ang value ng lookup, walang ibinabalik ang formula (isang walang laman na string).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Kung ang #N/A ay nagbabalik ng ilang partikular na text:
Kung ang Ang halaga ng paghahanap ay hindi natagpuan, angang formula ay nagbabalik ng partikular na text.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Para sa higit pang mga halimbawa ng formula, pakitingnan ang VLOOKUP na may IF statement sa Excel.
Halimbawa 2. IF na may SUM, AVERAGE, MIN at MAX functions
Upang pagsama-samahin ang mga value ng cell batay sa ilang partikular na pamantayan, ibinibigay ng Excel ang mga function ng SUMIF at SUMIFS.
Sa ilang sitwasyon, maaaring mangailangan ng lohika ng iyong negosyo na isama ang function na SUM sa lohikal na pagsubok ng IF. Halimbawa, para magbalik ng iba't ibang text label depende sa kabuuan ng mga value sa B2 at C2, ang formula ay:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Kung ang kabuuan ay mas malaki sa 130, ang resulta ay "mabuti "; kung mas malaki sa 110 – "satisfactory', kung 110 o mas mababa - "mahirap".
Sa katulad na paraan, maaari mong i-embed ang AVERAGE function sa logical test ng IF at magbalik ng iba't ibang label batay sa average na marka :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Ipagpalagay na ang kabuuang marka ay nasa column D, matutukoy mo ang pinakamataas at pinakamababang value sa tulong ng MAX at MIN function:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Upang magkaroon ng parehong mga label sa isang column, ilagay ang mga function sa itaas sa isa't isa:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
Gayundin, maaari mong gamitin ang IF kasama ng iyong custom mga function. Halimbawa, maaari mo itong pagsamahin sa GetCellColor o GetCellFontColor upang magbalik ng iba't ibang resulta batay sa isang kulay ng cell.
Sa karagdagan, ang Excel ay nagbibigay ng ilang mga function upang makalkula ang data batay sa mga kundisyon. Para sa mga detalyadong halimbawa ng formula, mangyaring tingnan ang sumusunodmga tutorial:
- COUNTIF - bilangin ang mga cell na nakakatugon sa isang kundisyon
- COUNTIFS - bilangin ang mga cell na may maraming pamantayan
- SUMIF - may kundisyon na mga cell
- SUMIFS - sum cell na may maraming pamantayan
Halimbawa 3. KUNG may ISNUMBER, ISTEXT at ISBLANK
Upang tukuyin ang text, mga numero at mga blangkong cell, ang Microsoft Excel ay nagbibigay ng mga espesyal na function tulad ng ISTEXT, ISNUMBER at ISBLANK. Sa pamamagitan ng paglalagay ng mga ito sa mga lohikal na pagsubok ng tatlong nested IF na pahayag, matutukoy mo ang lahat ng iba't ibang uri ng data nang sabay-sabay:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Halimbawa 4. IF at CONCATENATE
Para i-output ang resulta ng IF at ilang text sa isang cell, gamitin ang CONCATENATE o CONCAT (sa Excel 2016 - 365) at IF na gumagana nang magkasama. Halimbawa:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Sa pagtingin sa screenshot sa ibaba, halos hindi mo kakailanganin ang anumang paliwanag kung ano ang ginagawa ng formula:
KUNG ISERROR / ISNA formula sa Excel
Ang mga modernong bersyon ng Excel ay may mga espesyal na function upang ma-trap ang mga error at palitan ang mga ito ng isa pang kalkulasyon o paunang natukoy na halaga - IFERROR (sa Excel 2007 at mas bago) at IFNA (sa Excel 2013 at mas bago). Sa mga naunang bersyon ng Excel, maaari mong gamitin ang mga kumbinasyon ng IF ISERROR at IF ISNA sa halip.
Ang pagkakaiba ay pinangangasiwaan ng IFERROR at ISERROR ang lahat ng posibleng error sa Excel, kabilang ang #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0!, at #NULL!. Habang ang IFNA at ISNA ay nagdadalubhasa lamang sa mga error na #N/A.
Halimbawa, sapalitan ang error na "divide by zero" (#DIV/0!) ng iyong custom na text, maaari mong gamitin ang sumusunod na formula:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
At iyon lang ang masasabi ko tungkol sa paggamit ng IF function sa Excel. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!
Magsanay ng workbook para sa pag-download
Excel KUNG maraming pamantayan - mga halimbawa (.xlsx file)