Агуулгын хүснэгт
Энэ заавар нь Excel-д AND болон OR логикоор олон IF мэдэгдлийг хэрхэн үүсгэхийг харуулж байна. Мөн та IF-г Excel-ийн бусад функцтэй хамт хэрхэн ашиглах талаар сурах болно.
Бид Excel-ийн IF хичээлийн эхний хэсэгт текстийн нэг нөхцөл бүхий энгийн IF хэллэгийг хэрхэн бүтээх талаар авч үзсэн. тоо, огноо, хоосон ба хоосон биш. Гэсэн хэдий ч хүчирхэг өгөгдөлд дүн шинжилгээ хийхийн тулд та олон нөхцөл байдлыг нэг дор үнэлэх шаардлагатай болдог. Доорх томьёоны жишээнүүд танд үүнийг хийх хамгийн үр дүнтэй аргуудыг харуулах болно.
Хэрэв олон нөхцөлтэй бол IF функцийг хэрхэн ашиглах вэ
Үндсэндээ хоёр төрөл байдаг. БӨН / OR логик дээр суурилсан олон шалгуур бүхий IF томьёо . Иймээс IF томьёогоо логик шалгахдаа дараах функцүүдийн аль нэгийг ашиглах хэрэгтэй:
- AND функц - бүх нөхцөл хангагдсан тохиолдолд ҮНЭНийг буцаана; Үгүй бол ХУДАЛ.
- OR функц - ямар нэг нөхцөл хангагдсан бол ҮНЭНийг буцаана; Үгүй бол ХУДАЛ.
Сэтгэлийг илүү сайн харуулахын тулд бодит амьдрал дээрх зарим томьёоны жишээг авч үзье.
Олон нөхцөл бүхий Excel IF хэллэг (БӨЛӨН логик)
Хоёр буюу түүнээс дээш нөхцөл бүхий Excel IF-ийн ерөнхий томьёо нь дараах байдалтай байна:
IF(БӨН( нөхцөл1, нөхцөл2, …), утга_хэрэв_үнэн, үнэ_худал)Хүн хэл рүү хөрвүүлсэн Хэлний хувьд томъёонд: Хэрэв 1-р нөхцөл үнэн, 2-р нөхцөл үнэн бол буцаана үнэн_хэрэв_утга ; else хэрэв_худал_утга буцаана.
Та B ба C баганад хоёр тестийн оноог жагсаасан хүснэгттэй байна гэж бодъё. Төгсгөлийн шалгалтанд тэнцэхийн тулд оюутан хоёулаа 50-аас дээш оноотой байх ёстой.
Логик тестийн хувьд та дараах AND хэллэгийг ашиглана: AND(B2>50, C2>50)
Хэрэв хоёр нөхцөл үнэн бол томьёо нь "Тэнцэх"-г буцаана; хэрэв ямар нэг нөхцөл худал бол - "Бүтэлгүйтсэн".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Хялбар, тийм үү? Доорх дэлгэцийн зураг нь манай Excel IF /AND томьёо зөв ажиллаж байгааг нотолж байна:
Үүнтэй адил та Excel IF функцийг олон текстийн нөхцөлтэй ашиглаж болно.
Жишээ нь, хэрэв B2 болон C2 хоёулаа 50-аас их байвал "Сайн" гэж гаргавал "Муу" гэж томъёолно:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Анхаарах зүйл! AND функц нь аль хэдийн шалгагдсан нөхцөлүүд нь ХУДАЛ гэж үнэлэгдсэн байсан ч бүх нөхцөлийг шалгадаг. Ихэнх програмчлалын хэл дээр өмнөх тестүүдийн аль нэг нь ХУДАЛ гэж хариулсан тохиолдолд дараагийн нөхцөлүүдийг шалгадаггүй тул ийм үйлдэл нь жаахан ер бусын юм.
Практикт зөв мэт санагдах IF мэдэгдэл нь үүнээс болж алдаа гаргаж болзошгүй. өвөрмөц байдал. Жишээлбэл, доорх томьёо нь #DIV/0-г буцаана! ("тэгээр хуваах" алдаа) хэрэв A2 нүд 0-тэй тэнцүү бол:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Үүнээс зайлсхийхийн тулд та үүрлэсэн IF функцийг ашиглах хэрэгтэй:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
Дэлгэрэнгүй мэдээллийг Excel-ийн IF AND томьёог харна уу.
Excel IF функцтэй олоннөхцөл (OR логик)
Хэрэв ямар нэг нөхцөл хангагдсан тохиолдолд нэг зүйлийг хийх, эс бөгөөс өөр зүйл хийх бол IF болон OR функцуудын энэ хослолыг ашиглана уу:
IF(OR(<) 1>нөхцөл1 , нөхцөл2 , …), утга_хэрэв_үнэн, утга_хэрэв_худал)Дээр дурдсан IF / БА томьёоны ялгаа нь Excel нь заасан нөхцлүүдийн аль нэг нь үнэн бол ҮНЭН гэж буцаадагт оршино.
Тиймээс, хэрэв өмнөх томьёо дээр бид AND-ын оронд OR-г хэрэглэвэл:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Тэгвэл аль ч шалгалтанд 50-аас дээш оноо авсан хүн "Тэнцэх" оноо авна. багана D. Ийм нөхцөлд манай оюутнууд төгсөлтийн шалгалтанд тэнцэх магадлал илүү өндөр байна (Ялангуяа 1 оноогоор бүтэлгүйтсэн Иветт азгүй байна :)
Зөвлөгөө. Хэрэв та тексттэй олон IF мэдэгдлийг үүсгэж, OR логикоор нэг нүдэнд утгыг туршиж байгаа бол (өөрөөр хэлбэл нүд "энэ" эсвэл "тэр" байж болно) илүү нягтрал үүсгэж болно. массивын тогтмолыг ашиглан томъёо.
Жишээлбэл, хэрэв В2 нүд "хүргэгдсэн" эсвэл "төлбөртэй" бол борлуулалтыг "хаалттай" гэж тэмдэглэхийн тулд дараах томьёо:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Илүү томьёоны жишээг Excel-ийн IF OR функцээс олж болно.
Хэрэв олон БА & OR мэдэгдлүүд
Хэрэв таны даалгаварт хэд хэдэн нөхцлийн багцыг үнэлэх шаардлагатай бол та БА & OR нь нэгэн зэрэг ажилладаг.
Манай жишээ хүснэгтэд танд шалгалтын үр дүнг шалгах дараах шалгуурууд байна гэж бодъё:
- Нөхцөл 1:шалгалт1>50 ба шалгалт2>50
- Нөхцөл 2: шалгалт1>40 ба шалгалт2>60
Хэрэв нөхцөлүүдийн аль нэг нь хангагдсан бол төгсөлтийн шалгалтыг тэнцсэн гэж үзнэ.
Анхны харцаар томьёо нь жаахан төвөгтэй мэт санагдаж байгаа ч үнэндээ тийм биш юм! Та дээрх нөхцөл бүрийг AND хэллэг болгон илэрхийлж, OR функцэд оруулахад л болно (учир нь энэ хоёр нөхцөлийг хангах шаардлагагүй тул аль аль нь хангалттай байх болно):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Дараа нь дараахыг ашиглана уу. ЭСВЭЛ функцийг IF-ийн логик туршилтанд зориулж, хүссэн үнэн_хэрэв_утга ба худал_хэрэв_утга утгуудыг өгнө. Үүний үр дүнд та олон БА / ЭСВЭЛ нөхцөл бүхий дараах IF томьёог авах болно:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Доорх дэлгэцийн зураг нь бид томъёог зөв хийсэн болохыг харуулж байна:
Мэдээж , та IF томьёодоо зөвхөн хоёр БА/ЭСВЭЛ функцийг ашиглахаар хязгаарлагдахгүй. Та эдгээрийг бизнесийн логикийн шаардлагын дагуу ашиглаж болно.
- Excel 2007 ба түүнээс дээш хувилбарт танд 255-аас илүүгүй аргумент байх ба IF томьёоны нийт урт нь хэтрэхгүй байх ёстой. 8,192 тэмдэгт.
- Excel 2003 болон түүнээс доош хувилбаруудад 30-аас илүүгүй аргумент байх бөгөөд таны IF томьёоны нийт урт нь 1,024 тэмдэгтээс хэтрэхгүй.
Үүргэсэн IF мэдэгдэл олон логик тест шалгах
Хэрэв та нэг томьёоны дотор олон логик тестийг үнэлэхийг хүсвэл хэд хэдэн функцийг нэг нэгэнд нь оруулах боломжтой. Ийм функцийг үүрсэн гэж нэрлэдэгIF функцууд . Логик тестийн үр дүнгээс хамааран өөр утгыг буцаахыг хүсвэл эдгээр нь ялангуяа ашигтай байдаг.
Энд энгийн жишээ байна: та оюутнуудын амжилтыг " Сайн " гэж үнэлэхийг хүсч байна гэж бодъё. " Санамжтай " ба " Муу " нь дараах оноонд тулгуурлан:
- Сайн: 60 ба түүнээс дээш (>=60)
- Хангалттай: 40-60 (>40 ба <60)
- Муу: 40 ба түүнээс бага (<=40)
Томьёог бичихийн өмнө дарааллыг анхаарч үзээрэй. Таны үүрлэх гэж буй функцүүдийн. Excel нь логик тестүүдийг томъёонд харагдах дарааллаар нь үнэлнэ. Нөхцөл ҮНЭН гэж үнэлэгдсэний дараа дараагийн нөхцлүүдийг шалгахгүй, өөрөөр хэлбэл эхний ҮНЭН үр дүнгийн дараа томьёо зогсоно.
Манай тохиолдолд функцуудыг томоос жижиг рүү эрэмбэлсэн:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Мэдээж шаардлагатай бол та илүү олон функцуудыг (орчин үеийн хувилбаруудад 64 хүртэл) оруулах боломжтой.
Дэлгэрэнгүй мэдээлэл авахыг хүсвэл Excel-д олон үүрлэсэн IF хэллэгийг хэрхэн ашиглах талаар үзнэ үү.
Олон нөхцөл бүхий Excel IF массивын томьёо
Excel IF-г шалгах өөр нэг арга. олон нөхцөл нь массивын томьёог ашиглан байна.
Нөхцөлүүдийг AND логикоор үнэлэхийн тулд одыг ашиглана уу:
IF( нөхцөл1 ) * ( нөхцөл2 ) * …, үнэ_хэрэв_үнэн,_хэрэв_худал)Нөхцөлүүдийг OR логикоор шалгахын тулд нэмэх тэмдгийг ашиглана уу:
IF( нөхцөл1 ) + ( нөхцөл2 ) + …,үнэ_хэрэв_үнэн, үнэ_худал_бол)Масивын томьёог зөв бөглөхийн тулд Ctrl + Shift + Enter товчийг хамт дарна уу. Excel 365 болон Excel 2021-д энэ нь динамик массивыг дэмждэг тул ердийн томьёо болгон ажилладаг.
Жишээ нь, хэрэв B2 болон C2 хоёулаа 50-аас их байвал "Өтгөх"-ийг авахын тулд томъёо нь:
=IF((B2>50) * (C2>50), "Pass", "Fail")
Миний Excel 365 дээр ердийн томьёо зүгээр ажилладаг (дээрх дэлгэцийн агшинг харж болно). Excel 2019 болон түүнээс доош хувилбарт Ctrl + Shift + Enter товчлолыг ашиглан массив томьёо болгохоо санаарай.
Олон нөхцөлийг OR логикоор үнэлэхийн тулд дараах томъёог авна:
=IF((B2>50) + (C2>50), "Pass", "Fail")
IF-г бусад функцтэй хамт ашиглах
Энэ хэсэгт IF-г Excel-ийн бусад функцтэй хэрхэн хослуулан ашиглах, энэ нь танд ямар ашиг тустайг тайлбарлана.
Жишээ 1. Хэрэв #N /VLOOKUP-д гарсан алдаа
VLOOKUP эсвэл өөр хайлтын функц ямар нэг зүйлийг олж чадахгүй үед #N/A алдааг буцаана. Хүснэгтүүдээ илүү гоё харагдуулахын тулд #Үгүй бол тэг, хоосон эсвэл тодорхой текстийг буцааж болно. Үүний тулд дараах ерөнхий томъёог ашиглана уу:
IF(ISNA(VLOOKUP(…)), утга_бол_на , VLOOKUP(…))Жишээ нь:
Хэрэв #N/ Буцах 0:
Хэрэв E1 дэх хайлтын утга олдохгүй бол томъёо нь тэгийг буцаана.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Хэрэв #Үгүй бол хоосон буцна:
Хэрэв хайлтын утга олдохгүй бол томьёо нь юу ч буцаадаггүй (хоосон мөр).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Хэрэв #N/A нь тодорхой текстийг буцаана:
Хэрэв хайлтын утга олдсонгүй,томъёо нь тодорхой текстийг буцаана.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Дэлгэрэнгүй томьёоны жишээг Excel-ийн IF хэллэг бүхий VLOOKUP-г харна уу.
Жишээ 2. IF-ийг SUM, AVERAGE, MIN болон MAX-тай функцууд
Тодорхой шалгуурт тулгуурлан нүдний утгыг нэгтгэхийн тулд Excel нь SUMIF болон SUMIFS функцуудыг хангадаг.
Зарим тохиолдолд таны бизнесийн логик IF-ын логик тестэд SUM функцийг оруулах шаардлагатай байж болно. Жишээлбэл, B2 ба C2 дахь утгуудын нийлбэрээс хамаарч өөр өөр текст шошгыг буцаахын тулд дараах томъёог авна:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Хэрэв нийлбэр нь 130-аас их бол үр дүн нь "сайн" болно. "; Хэрэв 110-аас их бол - "хангалттай", 110 ба түүнээс доош бол "муу".
Үүнтэй адилаар та IF-ын логик тестэнд AVERAGE функцийг оруулж, дундаж оноонд үндэслэн өөр шошго гаргаж болно. :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Нийт оноог D баганад байгаа гэж үзвэл MAX болон MIN функцын тусламжтайгаар хамгийн их ба хамгийн бага утгыг тодорхойлж болно:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Хоёр шошгыг нэг баганад байлгахын тулд дээрх функцуудыг нэг нэгээр нь байрлуулна уу:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
Үүний нэгэн адил та IF-г өөрийн захиалгатай хамт ашиглаж болно. функцууд. Жишээ нь, та үүнийг GetCellColor эсвэл GetCellFontColor-тэй хослуулан нүдний өнгө дээр үндэслэн өөр үр дүнг гаргаж болно.
Үүнээс гадна Excel нь нөхцөл дээр тулгуурлан өгөгдлийг тооцоолох хэд хэдэн функцээр хангадаг. Томъёоны нарийвчилсан жишээний хувьд, дараах зүйлийг шалгана уухичээлүүд:
- COUNTIF - нөхцөл хангасан нүднүүдийг тоолох
- COUNTIFS - олон шалгуур бүхий нүднүүдийг тоолох
- SUMIF - нүднүүдийг нөхцөлт нийлбэр
- SUMIFS - олон шалгуур бүхий нүднүүдийн нийлбэр
Жишээ 3. IF ISNUMBER, ISTEXT, ISBLANK
Текст, тоо болон хоосон нүднүүдийг тодорхойлохын тулд Microsoft Excel нь ISTEXT, ISNUMBER зэрэг тусгай функцуудыг хангадаг. болон ISBLANK. Тэдгээрийг гурван үүрлэсэн IF мэдэгдлийн логик туршилтанд оруулснаар та бүх өөр өөр өгөгдлийн төрлийг нэг дор тодорхойлох боломжтой:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Жишээ 4. IF болон CONCATENATE
Хэнд IF-ийн үр дүн болон зарим текстийг нэг нүдэнд гаргахдаа CONCATENATE эсвэл CONCAT (Excel 2016 - 365) болон IF функцуудыг хамтад нь ашиглана. Жишээ нь:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Доорх дэлгэцийн агшинг харахад томьёо юу болохыг тайлбарлах шаардлагагүй болно:
ХЭРэв ISERROR бол / Excel дэх ISNA томъёо
Excel-ийн орчин үеийн хувилбарууд нь алдааг барьж, өөр тооцоолол эсвэл урьдчилан тодорхойлсон утгаар солих тусгай функцтэй - IFERROR (Excel 2007 болон түүнээс хойшхи хувилбаруудад) болон IFNA (Excel 2013 болон түүнээс хойшхи хувилбаруудад). Excel-ийн өмнөх хувилбаруудад та оронд нь IF ISERROR болон IF ISNA хослолыг ашиглаж болно.
Ялгаа нь: IFERROR болон ISNA нь #VALUE!, #N/A, #NAME?, зэрэг Excel-ийн боломжит бүх алдааг зохицуулдаг. #REF!, #МУИС!, #DIV/0!, болон #NULL!. IFNA болон ISNA нь зөвхөн #N/A алдаагаар мэргэшдэг.
Жишээ нь,"Тэгээр хуваах" алдааг (#DIV/0!) өөрийн захиалгат бичвэрээр соливол та дараах томьёог ашиглаж болно:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
Мөн үүнийг ашиглах талаар хэлэх зүйл минь энэ. Excel дээрх IF функц. Уншсан танд баярлалаа, дараа долоо хоногт манай блог дээр уулзана гэж найдаж байна!
Татаж авах дасгалын ном
Excel IF олон шалгуур - жишээнүүд (.xlsx файл)