Excel’da IF, IFS, AND va OR: shartli formulalar yozish
Asoslar3 daqInnovialabs tahririyati
Qisqacha
IF bitta shartni tekshirib, ikki qiymatdan birini qaytaradi, AND va OR bir nechta tekshiruvni birlashtiradi, IFS ichma-ich IF o‘rnini bosadi, chegaralar ko‘p bo‘lsa esa VLOOKUP bilan moslik jadvali qulayroq.
Qisqa javob: IF qanday ishlaydi
IF shartni tekshiradi: shart rost bo‘lsa bitta qiymatni, yolg‘on bo‘lsa boshqasini qaytaradi:
=IF(shart, rost_bo‘lsa_qiymat, yolg‘on_bo‘lsa_qiymat)
Misol: 100 000 va undan ortiq buyurtma bergan mijoz ulgurji hisoblanadi.
=IF(B2>=100000, "Ulgurji", "Chakana")
Ingliz tilidagi Excel’da argumentlar vergul bilan ajratiladi. Ba’zi mintaqaviy sozlamalarda (masalan, rus tilida) ajratgich — nuqtali vergul, funksiya nomlari esa tarjima qilingan: ЕСЛИ, И, ИЛИ, ЕСЛИМН. Google Sheets inglizcha nomlarni qabul qiladi, ajratgich jadvalning mintaqaviy sozlamasiga bog‘liq.
Taqqoslash operatorlari
| Operator | Ma’nosi | Misol |
|---|---|---|
= | teng | C2="To‘langan" |
<> | teng emas | C2<>"" (katak bo‘sh emas) |
> < | katta, kichik | B2>0 |
>= <= | katta yoki teng, kichik yoki teng | D2<=TODAY() |
Matn doim qo‘shtirnoqda yoziladi, sonlar esa qo‘shtirnoqsiz. IF ichida matnni taqqoslash katta-kichik harfni farqlamaydi: «to‘langan» va «To‘langan» mos keladi.
AND va OR orqali bir nechta shart
- AND barcha shartlar bajarilgandagina TRUE qaytaradi.
- OR kamida bitta shart bajarilsa TRUE qaytaradi.
Buyurtmani faqat u yirik va to‘langan bo‘lsa jo‘natamiz:
=IF(AND(B2>=100000, C2="To‘langan"), "Jo‘natish", "Kutish")
Doimiy mijozga yoki 10 dan ortiq pozitsiyali buyurtmaga chegirma beramiz:
=IF(OR(D2="Doimiy", E2>10), "Chegirma", "Chegirmasiz")
Ularni birlashtirish mumkin: AND(B2>0, OR(F2="Toshkent", F2="Samarqand")). Mantiq murakkablashsa, tekshiruvlarning bir qismini yordamchi ustunga chiqaring — formulani o‘qish va xatosini topish osonlashadi.
Ichma-ich IF
Variantlar ikkitadan ko‘p bo‘lsa, bitta IF ikkinchisining ichiga qo‘yiladi. Misol — xaridlar summasiga ko‘ra mijoz darajasi:
=IF(B2>=500000, "Platina", IF(B2>=200000, "Oltin", IF(B2>=50000, "Kumush", "Bazaviy")))
Asosiy qoida — tekshiruvlar tartibi. Shartlar eng qattig‘idan eng yumshog‘iga qarab boradi. Agar birinchi bo‘lib B2>=50000 ni tekshirsangiz, 50 000 dan yuqori barcha mijozlar «Kumush» oladi va qolgan tekshiruvlarga navbat kelmaydi.
Ichma-ich IF o‘rniga IFS
IFS «shart — natija» juftliklarini qabul qiladi va birinchi rost shartning natijasini qaytaradi:
=IFS(B2>=500000, "Platina", B2>=200000, "Oltin", B2>=50000, "Kumush", TRUE, "Bazaviy")
- Qavslar kamroq, formulani o‘qish osonroq.
- Oxirgi
TRUE, "Bazaviy"jufti «qolgan barcha holatlarda» degan ma’noni beradi. Usiz hech bir shart mos kelmasa, IFS#N/Axatosini qaytaradi. - Tekshiruvlar tartibi ichma-ich IF dagidek muhim.
- Funksiya Google Sheets’da va Excel’ning zamonaviy versiyalarida bor; eski Excel versiyalarida u yo‘q va xato ko‘rsatiladi.
Qachon moslik jadvaliga o‘tish kerak
Agar chegaralar uch-to‘rttadan ko‘p bo‘lsa yoki ular o‘zgarib tursa, ularni formula ichida saqlamang. «Darajalar» degan alohida varaq yarating:
| Chegara | Daraja |
|---|---|
| 0 | Bazaviy |
| 50000 | Kumush |
| 200000 | Oltin |
| 500000 | Platina |
Darajani taxminiy qidiruv bilan toping — chegaralar o‘sish tartibida saralangan bo‘lishi shart:
=VLOOKUP(B2, Darajalar!$A$2:$B$5, 2, TRUE)
Afzalliklari: chegaralar ko‘rinib turadi va formulalarni tahrirlamasdan o‘zgartiriladi, bitta ma’lumotnomadan esa barcha hisobotlar foydalanadi. Aniq moslik uchun («hudud kodi → nomi») FALSE bilan VLOOKUP yoki XLOOKUP dan foydalaning.
Ko‘p uchraydigan xatolar
- Sonlar matn sifatida saqlangan. B2 da «150000» matni tursa,
B2>=100000noto‘g‘ri natija beradi. Katak formati va tekislanishini tekshiring. - Noto‘g‘ri ajratgich. Nuqtali vergul kutilgan sozlamada vergul ishlatish sintaksis xatosiga olib keladi.
- Sonlar atrofida qo‘shtirnoq.
B2>"100"sonni matn bilan taqqoslaydi va kutilganidek ishlamaydi. - Bo‘sh kataklar. Bo‘sh katak nol hisoblanadi, shuning uchun u uchun
B2<1000rost bo‘ladi.B2<>""tekshiruvini qo‘shing. - Haddan tashqari chuqur ichma-ichlik. Formula formulalar qatoriga sig‘may qolsa, bu IFS yoki ma’lumotnomaga o‘tish vaqti kelganini bildiradi.