Excel Nested IF bayonotlari - misollar, eng yaxshi amaliyotlar va muqobillar

  • Buni Baham Ko'Ring
Michael Brown

O'quv qo'llanma Excelda bir nechta shartlarni tekshirish uchun ichki o'rnatilgan IF funksiyasidan qanday foydalanishni tushuntiradi. Bundan tashqari, Excelda ichki formuladan foydalanishga yaxshi muqobil bo'lishi mumkin bo'lgan bir nechta boshqa funktsiyalarni o'rganasiz.

Siz odatda Excel ish varaqlarida qaror qabul qilish mantiqini qanday amalga oshirasiz? Aksariyat hollarda shartingizni tekshirish uchun IF formulasidan foydalanasiz va agar shart bajarilsa, bitta qiymatni, agar bajarilmasa, boshqa qiymatni qaytarasiz. Bir nechta shartlarni baholash va natijalarga qarab turli qiymatlarni qaytarish uchun siz bir-birining ichiga bir nechta IF-larni joylashtirasiz.

Juda mashhur bo'lsa-da, ichkariga kiritilgan IF ko'rsatmasi Excelda bir nechta shartlarni tekshirishning yagona usuli emas. Ushbu qoʻllanmada siz albatta oʻrganishga arziydigan bir nechta muqobil variantlarni topasiz.

    Excel nested IF statement

    Mana, Excel-ning umumiy koʻrinishdagi klassik ichki oʻrnatilgan IF formulasi. :

    IF( shart1, natija1, IF( shart2, natija2, AGAR( shart3, natija3, natija4)))

    Siz har bir keyingi IF funksiyasi oldingi funktsiyaning value_agar_false argumentiga kiritilganligini ko'rishingiz mumkin. Har bir IF funktsiyasi o'ziga xos qavslar to'plamiga kiritilgan, lekin barcha yopish qavslar formulaning oxirida joylashgan.

    Bizning umumiy o'rnatilgan IF formulamiz 3 shartni baholaydi va 4 xil natijani qaytaradi (natija 4 qaytariladi). agar hech biriYuklab olish uchun ish kitobi

    Excel nested If operatori - misollar (.xlsx fayli)

    shartlar TRUE). Inson tiliga tarjima qilingan ushbu ichki o'rnatilgan IF bayonoti Excelga quyidagilarni bajarishni buyuradi:Sinov shart1, agar TRUE bo'lsa - natija1qaytariladi, agar FALSE -

    test shart2 , agar TRUE bo'lsa - r natija2 ni qaytaring, agar YOLG'ON bo'lsa -

    test shart3 , agar TRUE bo'lsa - natija3 ni qaytaring, agar FALSE -

    qaytish natija4

    Masalan, bir qancha sotuvchilar uchun komissiyalarni ular qilgan savdolar miqdoriga qarab bilib olaylik:

    Komissiya Sotish
    3% $1 - $50
    5% 51$ - 100$
    7% $101 - $150
    10% 150$ dan ortiq

    Matematikada qoʻshimchalar tartibini oʻzgartirish yigʻindini oʻzgartirmaydi. Excelda IF funktsiyalari tartibini o'zgartirish natijani o'zgartiradi. Nega? Chunki ichki o'rnatilgan IF formulasi birinchi TRUE shartga mos keladigan qiymatni qaytaradi. Shuning uchun, ichki o'rnatilgan IF iboralarida shartlarni to'g'ri yo'nalishda tartibga solish juda muhim - formulangiz mantig'iga qarab yuqoridan pastgacha yoki pastdan yuqoriga. Bizning holatimizda avval "eng yuqori" shartni, keyin "ikkinchi eng yuqori" shartni tekshiramiz va hokazo:

    =IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))

    Agar biz teskari tartibda, pastdan yuqoriga qarab, natijalar noto'g'ri bo'ladi, chunki formulamiz birinchi mantiqiy testdan so'ng (B2>=1) 1 dan katta har qanday qiymat uchun to'xtab qoladi. Aytaylik, bizda $100 bor.sotuvda - u 1 dan katta, shuning uchun formula boshqa shartlarni tekshirmaydi va natijada 3% qaytaradi.

    Agar siz shartlarni pastdan yuqoriga tartibga solishni ma'qul ko'rsangiz, "dan kam"dan foydalaning. " operatorini ishlating va avval "eng past" shartni, keyin "ikkinchi eng past" shartni va hokazolarni baholang:

    =IF($B2<1, 0%, IF($B2<51, 3%, IF($B2<101, 5%, IF($B2<=150, 7%, 10%))))

    Ko'rib turganingizdek, mantiqni yaratish uchun juda ko'p o'ylash kerak bo'ladi. ichki o'rnatilgan IF iborasining oxirigacha to'g'ri. Garchi Microsoft Excel 64 tagacha IF funksiyalarini bitta formulada joylashtirishga imkon bersa-da, bu sizning ishchi varaqlaringizda qilishni xohlamaydi. Shunday qilib, agar siz (yoki boshqa birov) Excelning ichki oʻrnatilgan IF formulasiga uning aslida nima qilishini tushunishga harakat qilayotgan boʻlsangiz, strategiyangizni qayta koʻrib chiqish va ehtimol sizning arsenalingizdagi boshqa vositani tanlash vaqti keldi.

    Batafsil maʼlumot olish uchun. , Excelning ichki oʻrnatilgan IF iborasiga qarang.

    OR/VA shartlari bilan ichki oʻrnatilgan IF

    Agar siz bir nechta turli shartlar toʻplamini baholashingiz kerak boʻlsa, siz ushbu shartlarni OR yordamida ham ifodalashingiz mumkin. VA funksiyasi, funksiyalarni IF operatorlari ichiga joylashtiring va keyin IF operatorlarini bir-biriga joylashtiring.

    Excel'da OR ifodalari bilan o'rnatilgan IF

    OR funksiyasidan foydalanib siz ikkita yoki undan ko'p tekshirishingiz mumkin. har bir IF funksiyasining mantiqiy testida turli shartlar va agar OR argumentlaridan biri (kamida bittasi) TRUE deb baholansa, TRUE qiymatini qaytaradi. Bu aslida qanday ishlashini ko'rish uchun, iltimos, ko'rib chiqingquyidagi misol.

    Aytaylik, sizda ikkita savdo ustuni bor, deylik, B ustunida yanvar sotuvi va C ustunida fevral sotuvi. Siz ikkala ustundagi raqamlarni tekshirib, yuqoriroq raqam asosida komissiyani hisoblamoqchisiz. Boshqacha qilib aytganda, siz formulani quyidagi mantiq bilan tuzasiz: agar yanvar yoki fevral oylaridagi sotuvlar $150 dan ortiq boʻlsa, sotuvchi 10% komissiya oladi, agar yanvar yoki fevral oylaridagi sotuvlar $101 dan katta yoki unga teng boʻlsa, sotuvchi 7% komissiya oladi. , va hokazo.

    Buni amalga oshirish uchun OR(B2>150, C2>150) kabi bir nechta OF bayonotlarini yozing va ularni yuqorida muhokama qilingan IF funksiyalarining mantiqiy testlariga joylashtiring. Natijada siz quyidagi formulaga ega bo'lasiz:

    =IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))

    Va yuqoriroq savdo summasiga qarab komissiya tayinlang:

    uchun ko'proq formulalar misollari uchun, iltimos, Excel IF OR iborasiga qarang.

    Agar VA iboralari bilan Excelda o'rnatilgan IF

    Agar mantiqiy testlaringiz bir nechta shartlarni o'z ichiga olsa va bu shartlarning barchasi TRUE deb baholanishi kerak bo'lsa, ularni ifodalang. AND funksiyasidan foydalangan holda.

    Masalan, kamroq sotuvlar soniga qarab komissiyalarni belgilash uchun yuqoridagi formulani oling va OR ni AND ifodalari bilan almashtiring. Boshqacha qilib aytadigan bo'lsak, Excelga yanvar va fevral oylaridagi sotuvlar $150 dan ortiq bo'lsa, 10%, yanvar va fevral oylaridagi sotuvlar $101 dan katta yoki teng bo'lsa, 7% va hokazolarni qaytarishini aytasiz.

    =IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))

    Natijada bizning ichki o'rnatilgan IF formulamiz komissiyani hisoblab chiqadiB va C ustunlaridagi pastki raqamga asoslanadi. Agar har bir ustun bo'sh bo'lsa, hech qanday komissiya olinmaydi, chunki AND shartlaridan hech biri bajarilmasa:

    Agar siz' d bo'sh katakchalar o'rniga 0% qaytarishni xohlasangiz, oxirgi argumentdagi bo'sh qatorni (''") 0% bilan almashtiring:

    =IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))

    Batafsil ma'lumotni bu yerda topishingiz mumkin: Excel IF VA/YOKI bir nechta shartlarga ega.

    Excel'da ichki o'rnatilgan IF o'rniga VLOOKUP

    Siz "masshtablar", ya'ni raqamli qiymatlarning uzluksiz diapazonlari bilan ishlayotganingizda Ular birgalikda butun diapazonni qamrab oladi, ko‘p hollarda ichki o‘rnatilgan IF’lar o‘rniga VLOOKUP funksiyasidan foydalanishingiz mumkin.

    Boshlar uchun quyidagi skrinshotda ko‘rsatilgandek ma’lumot jadvalini tuzing. Keyin taxminan moslik , ya'ni diapazon_qidiruv argumenti TRUE ga o'rnatilgan.

    Qidiruv qiymati B2 va mos yozuvlar jadvali F2:G5 deb faraz qilsak, formula quyidagicha bo'ladi. :

    =VLOOKUP(B2,$F$2:$G$5,2,TRUE)

    E'tibor bering, biz jadval_massivi ni mutlaq havolalar bilan tuzatamiz ($F$2:$G$5) formulani boshqa yacheykalarga toʻgʻri nusxalash uchun:

    Vlookup formulangizning oxirgi argumentini TRUE qilib, Excelga shuni aytasiz: eng yaqin moslikni qidiring - agar aniq moslik topilmasa, qidiruv qiymatidan kichikroq keyingi eng katta qiymatni qaytaring. Natijada, sizning formulangiz nafaqat qidirish jadvalidagi aniq qiymatlarga, balki har qanday qiymatga ham mos keladiorasiga tushadigan qiymatlar.

    Masalan, B3 da qidirish qiymati $95. Bu raqam qidiruv jadvalida mavjud emas va aniq mos keladigan Vlookup bu holatda #N/A xatosini qaytaradi. Ammo taxminiy mos keladigan Vlookup qidiruv qiymatidan kichikroq (bu bizning misolimizda $50) eng yaqin qiymatni topmaguncha qidirishni davom ettiradi va xuddi shu qatordagi ikkinchi ustundan qiymatni qaytaradi (bu 5%).

    Agar qidiruv qiymati qidirish jadvalidagi eng kichik raqamdan kichik bo'lsa yoki qidirish katakchasi bo'sh bo'lsa-chi? Bunday holda, Vlookup formulasi #N/A xatosini qaytaradi. Agar bu siz xohlagan narsa bo'lmasa, VLOOKUP-ni IFERROR ichiga joylashtiring va qidiruv qiymati topilmasa, chiqadigan qiymatni taqdim eting. Masalan:

    =IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Outside range")

    Muhim eslatma! Taxminiy mos keladigan Vlookup formulasi toʻgʻri ishlashi uchun qidirish jadvalidagi birinchi ustun oʻsish tartibida , eng kichikdan kattaga saralanishi kerak.

    Batafsil maʼlumot uchun “Toʻliq moslik” boʻlimiga qarang. VLOOKUP va taxminiy moslik VLOOKUP.

    IFS bayonoti ichki oʻrnatilgan IF funksiyasiga muqobil sifatida

    Excel 2016 va undan keyingi versiyalarida Microsoft bir nechta shartlarni baholash uchun maxsus funksiya - IFS funksiyasini taqdim etdi.

    IFS formulasi 127 tagacha mantiqiy_test / haqiqat_agar_value juftlikni koʻrib chiqishi mumkin va TRUE deb baholangan birinchi mantiqiy test "yutadi":

    IFS(mantiqiy_test1,qiymat_agar_true1, [mantiqiy_sinov2, qiymat_agar_haqiqat2]...)

    Yuqoridagi sintaksisga muvofiq, bizning ichki o'rnatilgan IF formulamiz shu tarzda qayta tuzilishi mumkin:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)

    Iltimos, diqqat qiling Belgilangan shartlarning hech biri bajarilmasa, IFS funksiyasi #N/A xatosini qaytaradi. Bunga yo'l qo'ymaslik uchun formulaning oxiriga yana bitta mantiqiy_test / agar_haqiqiy_qiymat qo'shishingiz mumkin, u 0 yoki bo'sh satrni ("") yoki istalgan qiymatdan hech biri bo'lmasa, istalgan qiymatni qaytaradi. oldingi mantiqiy testlar HAQIQIY:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")

    Natijada, agar B ustunidagi mos katak boʻlsa, formulamiz #N/A xatosi oʻrniga boʻsh qatorni (boʻsh katak) qaytaradi. bo'sh yoki matn yoki manfiy raqamni o'z ichiga oladi.

    Eslatma. Ichki o'rnatilgan IF kabi, Excelning IFS funksiyasi TRUE deb baholanadigan birinchi shartga mos keladigan qiymatni qaytaradi, shuning uchun IFS formulasidagi mantiqiy testlar tartibi muhim ahamiyatga ega.

    Qo'shimcha ma'lumot olish uchun Excel IFS funksiyasiga qarang. ichki kiritilgan IF.

    Excel'dagi ichki o'rnatilgan IF formulasi o'rniga TANLASH

    Excel'da bitta formula ichida bir nechta shartlarni sinab ko'rishning yana bir usuli bu CHOOSE funktsiyasidan foydalanishdir, bu qiymatni qaytarish uchun mo'ljallangan. ushbu qiymatning pozitsiyasiga asoslangan roʻyxat.

    Bizning namunaviy maʼlumotlar toʻplamiga qoʻllanganda formula quyidagi shaklni oladi:

    =CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%)

    Birinchi argumentda ( indeks_num ), siz barcha shartlarni baholaysiz va natijalarni qo'shasiz. Berilganbu TRUE 1 ga, FALSE esa 0 ga teng bo‘ladi, shu tariqa siz qaytariladigan qiymatning o‘rnini hisoblaysiz.

    Masalan, B2 dagi qiymat 150 dollar. Bu qiymat uchun dastlabki 3 ta shart TRUE va oxirgisi (B2 & gt; 150) FALSE. Shunday qilib, indeks_num 3 ga teng, ya'ni 3-qiymat qaytariladi, ya'ni 7%.

    Maslahat. Agar mantiqiy testlardan hech biri TRUE bo'lmasa, index_sum 0 ga teng bo'ladi va formula #VALUE! xato. Oson tuzatish bu TANGLASH funksiyasini IFERROR funksiyasiga oʻrashdir:

    =IFERROR(CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%), "")

    Qoʻshimcha maʼlumot olish uchun formula misollari bilan Excel CHOOSE funksiyasiga qarang.

    SWITCH funksiyasi Excelda ichki o'rnatilgan IF ning ixcham shakli sifatida

    Siz masshtablar emas, balki oldindan belgilangan qiymatlar to'plami bilan ishlayotgan vaziyatlarda SWITCH funksiyasi kompleksga ixcham muqobil bo'lishi mumkin. ichki o'rnatilgan IF iboralari:

    SWITCH(ifoda, qiymat1, natija1, qiymat2, natija2, …, [standart])

    SWITCH funksiyasi ifoda ni qiymatlar ro'yxatiga nisbatan baholaydi va birinchi topilgan oʻyinga mos keladigan natija ni qaytaradi.

    Agar siz komissiyani sotish miqdoridan koʻra quyidagi baholar asosida hisoblamoqchi boʻlsangiz, ushbu kompaktdan foydalanishingiz mumkin. Excelda ichki o'rnatilgan IF formulasining versiyasi:

    =SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")

    Yoki siz quyidagi skrinshotda ko'rsatilgandek mos yozuvlar jadvalini tuzishingiz va qattiq kodlangan qiymatlar o'rniga hujayra havolalaridan foydalanishingiz mumkin:

    =SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")

    IltimosE'tibor bering, biz formulani boshqa kataklarga nusxalashda ularning o'zgarishiga yo'l qo'ymaslik uchun birinchisidan tashqari barcha havolalarni $ belgisi bilan bloklaymiz:

    Eslatma. SWITCH funksiyasi faqat Excel 2016 va undan keyingi versiyalarida mavjud.

    Qo'shimcha ma'lumot uchun SWITCH funksiyasi - ichki o'rnatilgan IF operatorining ixcham shakliga qarang.

    Excel'da bir nechta IF funksiyalarini birlashtirish

    Avvalgi misolda aytib o'tilganidek, SWITCH funksiyasi faqat Excel 2016 da joriy qilingan. Eski Excel versiyalarida o'xshash vazifalarni bajarish uchun Concatenate operatori (&) yoki CONCATENATE funksiyasidan foydalanib ikki yoki undan ortiq IF iboralarini birlashtirishingiz mumkin. .

    Masalan:

    =(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

    Yoki

    =CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

    Sizda boʻlishi mumkin payqadik, biz ikkala formulada ham natijani 1 ga ko'paytiramiz. U Concatenate formulasi orqali qaytarilgan qatorni raqamga aylantirish uchun bajariladi. Agar kutilgan natija matn boʻlsa, unda koʻpaytirish amali kerak emas.

    Qoʻshimcha maʼlumot olish uchun Excelʼdagi CONCATENATE funksiyasiga qarang.

    Microsoft Excel bir hovuch yaxshi muqobillarni taqdim etishini koʻrishingiz mumkin. IF formulalarini o'rnating va umid qilamanki, ushbu qo'llanma sizga ularni ish varaqlarida qanday ishlatish bo'yicha ba'zi maslahatlar berdi. Ushbu qo'llanmada muhokama qilingan misollarni batafsil ko'rib chiqish uchun quyidagi namunaviy ish kitobimizni yuklab olishingiz mumkin. O'qiganingiz uchun minnatdorchilik bildiraman va sizni keyingi hafta blogimizda ko'rishga umid qilaman!

    Mashq qiling

    Maykl Braun - dasturiy vositalardan foydalangan holda murakkab jarayonlarni soddalashtirishga ishtiyoqi bo'lgan maxsus texnologiya ishqibozi. Texnologiya sohasida o'n yildan ortiq tajribaga ega bo'lgan holda, u Microsoft Excel va Outlook, shuningdek, Google Sheets va Docs dasturlarida o'z mahoratini oshirdi. Mayklning blogi o'z bilimi va tajribasini boshqalar bilan baham ko'rishga, samaradorlik va samaradorlikni oshirish uchun amal qilish oson maslahatlar va o'quv qo'llanmalariga bag'ishlangan. Tajribali mutaxassismisiz yoki yangi boshlovchi boʻlasizmi, Mayklning blogi ushbu muhim dasturiy vositalardan maksimal darajada foydalanish uchun qimmatli tushunchalar va amaliy maslahatlarni taqdim etadi.