11-dars: Excel — IF va mantiqiy funksiyalar
Dars haqida
Davomiyligi: 90 daqiqa Maqsad: Talaba shartli funksiyalarni (IF, COUNTIF, SUMIF) bilishi, qaror qabul qilishni avtomatlashtirishi va murakkab tahlil yozishi kerak.
1. Mantiqiy fikrlash
Hayotda biz har doim qarorlarni shartlarga qarab qabul qilamiz:
- Agar havo issiq bo'lsa, ko'ylak kiyaman, aks holda kurtka.
- Agar ball 60 dan yuqori bo'lsa, "o'tdi", aks holda "yiqildi".
- Agar mahsulot 100 dan ko'p bo'lsa, chegirma berish, aks holda to'liq narx.
Excel'da bularni IF funksiyasi qiladi.
2. Taqqoslash operatorlari
| Operator | Vazifa | Misol |
|---|---|---|
= | Teng | A1=10 |
<> | Teng emas | A1<>10 |
> | Katta | A1>10 |
< | Kichik | A1<10 |
>= | Katta yoki teng | A1>=10 |
<= | Kichik yoki teng | A1<=10 |
Natija: TRUE (rost) yoki FALSE (yolg'on).
A1: 85
=A1=85 → TRUE
=A1>60 → TRUE
=A1<50 → FALSE
=A1<>100 → TRUE3. IF funksiyasi
Sintaksis:
=IF(shart, agar_rost, agar_yolg'on)Misol 1: Ball 60 yoki undan yuqori bo'lsa "O'tdi", aks holda "Yiqildi".
A1: 85
=IF(A1>=60, "O'tdi", "Yiqildi") → "O'tdi"To'liq misol — Talabalar natijalari
A B C
1 Talaba Ball Natija
2 Akmal 85 =IF(B2>=60,"O'tdi","Yiqildi") → O'tdi
3 Aziza 55 =IF(B3>=60,"O'tdi","Yiqildi") → Yiqildi
4 Botir 92 =IF(B4>=60,"O'tdi","Yiqildi") → O'tdi
5 Dilshod 45 =IF(B5>=60,"O'tdi","Yiqildi") → Yiqildi
6 Eldor 70 =IF(B6>=60,"O'tdi","Yiqildi") → O'tdiC2 ni Fill Handle bilan C6 gacha sudrang.
4. IF — matn yoki raqam natija
IF natijasi har xil bo'lishi mumkin:
Matn natija:
=IF(A1>100, "Ko'p", "Kam")Raqam natija:
=IF(A1>100, A1*0.1, 0) → agar 100 dan ko'p bo'lsa — 10% chegirma, aks holda 0Bo'sh natija:
=IF(A1>0, A1, "") → agar 0 dan katta — qiymatni ko'rsat, aks holda bo'shFormula natija:
=IF(B2>=60, B2*1.1, B2) → agar 60 yoki undan yuqori — 10% bonus, aks holda asl ball5. Nested IF (IF ichida IF)
Bir nechta sharti uchun — IF ichida yana IF.
Misol: Ballarga harf baho:
- 90+: A
- 80-89: B
- 70-79: C
- 60-69: D
- 60 dan past: F
=IF(A1>=90, "A",
IF(A1>=80, "B",
IF(A1>=70, "C",
IF(A1>=60, "D", "F"))))Bir qatorda:
=IF(A1>=90,"A",IF(A1>=80,"B",IF(A1>=70,"C",IF(A1>=60,"D","F"))))Tekshirish:
- A1 = 95 → "A"
- A1 = 85 → "B"
- A1 = 72 → "C"
- A1 = 65 → "D"
- A1 = 50 → "F"
IFS funksiyasi (Excel 2019+)
Yangi versiyalarda IFS funksiyasi bor — Nested IF'dan tezroq:
=IFS(A1>=90,"A", A1>=80,"B", A1>=70,"C", A1>=60,"D", TRUE,"F")TRUE — "qolgan barcha holatlar uchun" degani.
6. AND, OR, NOT — mantiqiy operatorlar
AND — va (hammasi to'g'ri bo'lishi kerak)
=AND(A1>0, A1<100) → agar A1 0 va 100 orasida — TRUEOR — yoki (kamida bittasi to'g'ri)
=OR(A1=10, A1=20, A1=30) → agar A1 ulardan biri — TRUENOT — emas (teskariga aylantiradi)
=NOT(A1>0) → agar A1 0 dan katta emas — TRUE7. IF + AND/OR — murakkab shartlar
Misol 1: Talaba o'tishi uchun ham Word, ham Excel'da 60+ kerak.
=IF(AND(B2>=60, C2>=60), "O'tdi", "Yiqildi")Misol 2: Yoshi 18-25 oralig'ida bo'lsa "Yosh", aks holda "Kattalar".
=IF(AND(A1>=18, A1<=25), "Yosh", "Kattalar")Misol 3: Talaba "Boshqaruvchi" yoki "Direktor" bo'lsa — "Rahbar", aks holda — "Xodim".
=IF(OR(A1="Boshqaruvchi", A1="Direktor"), "Rahbar", "Xodim")8. COUNTIF — shartli sanash
Range'da necha ta hujayra shartga to'g'ri kelishini sanaydi.
=COUNTIF(range, shart)Misollar:
Ballar: B2:B20
=COUNTIF(B2:B20, ">=60") → 60 va undan yuqori bo'lganlar soni
=COUNTIF(B2:B20, "<50") → 50 dan past bo'lganlar
=COUNTIF(B2:B20, "=100") → aynan 100 bo'lganlar
=COUNTIF(B2:B20, ">"&A1) → A1 dagi qiymatdan kattalarMatn bilan:
=COUNTIF(A2:A20, "O'tdi") → "O'tdi" deb yozilganlar soni
=COUNTIF(A2:A20, "Toshkent") → Toshkentdan necha ta talaba
=COUNTIF(A2:A20, "Ak*") → "Ak" bilan boshlanadigan ismlar (* — wildcard)9. SUMIF — shartli yig'indi
Range'da shartga to'g'ri keladiganlarning yig'indisini topadi.
=SUMIF(range, shart, [yig'iladigan_range])Misol 1: 60 va undan yuqori ballarning yig'indisi:
=SUMIF(B2:B20, ">=60")Misol 2: Toshkentdan kelgan talabalar ballarining yig'indisi:
A B
1 Shahar Ball
2 Toshkent 85
3 Samarqand 70
4 Toshkent 92
5 Buxoro 65
6 Toshkent 78
=SUMIF(A2:A6, "Toshkent", B2:B6) → 85+92+78 = 255A2:A6 da "Toshkent" qidiriladi, mos kelganlarning B ustun qiymatlari yig'iladi.
10. AVERAGEIF — shartli o'rtacha
=AVERAGEIF(range, shart, [averaging_range])Misol: Faqat o'tgan talabalar o'rtacha bali:
=AVERAGEIF(B2:B20, ">=60") → 60 va undan yuqori bo'lganlarning o'rtachasi11. COUNTIFS, SUMIFS — bir nechta shart
Bir nechta shart bilan ishlash:
=COUNTIFS(range1, shart1, range2, shart2, ...)
=SUMIFS(yig'iladigan_range, range1, shart1, range2, shart2, ...)Misol: Toshkentdan kelgan VA 60+ ball olganlar soni:
=COUNTIFS(A2:A20, "Toshkent", B2:B20, ">=60")Misol: Toshkentdan kelgan VA 60+ ball olganlar ballarining yig'indisi:
=SUMIFS(B2:B20, A2:A20, "Toshkent", B2:B20, ">=60")SUMIFS argumentlar tartibi
SUMIFS da yig'iladigan range birinchi keladi (boshqacha SUMIF'dan farqli):
SUMIF: shart_range, shart, [yig'iladigan_range]
SUMIFS: yig'iladigan_range, shart_range1, shart1, ...Diqqat bilan tartibni ko'ring.
12. IFERROR — xato bo'lsa nima qilish
Formula xato bersa — chiroyli xabar ko'rsatish.
=IFERROR(formula, "Xato xabari")Misol:
=A1/B1 → agar B1=0 bo'lsa: #DIV/0!
=IFERROR(A1/B1, 0) → xato bo'lsa: 0
=IFERROR(A1/B1, "Nolga bo'lib bo'lmaydi") → matn xabari13. To'liq misol — Sotuvchilar reyting jadvali
A B C D E F G
1 Sotuvchi Hudud Savdo Reja Bajardi? Foiz Reyting
2 Akmal Toshkent 5000000 4000000 ? ? ?
3 Aziza Samarqand 3000000 3500000
4 Botir Toshkent 6000000 5000000
5 Dilshod Buxoro 2500000 3000000
6 Eldor Toshkent 4500000 4000000
Formulalar:
E2: =IF(C2>=D2, "Ha", "Yo'q")
F2: =C2/D2 [Format: Percentage]
G2: =IF(F2>=1.2, "Ajoyib",
IF(F2>=1.0, "Yaxshi",
IF(F2>=0.8, "O'rtacha", "Yomon")))Statistika:
Jami savdo: =SUM(C2:C6)
Toshkentdan jami: =SUMIF(B2:B6, "Toshkent", C2:C6)
Rejani bajarganlar soni: =COUNTIF(E2:E6, "Ha")
Rejani bajarganlar % o'rtachasi: =AVERAGEIF(E2:E6, "Ha", F2:F6)
"Ajoyib" baholar soni: =COUNTIF(G2:G6, "Ajoyib")Darsdagi topshiriqlar
Topshiriq 1 — Birinchi IF
Yangi Workbook. Imtihon natijalari:
| A | B | C | |
|---|---|---|---|
| 1 | Talaba | Ball | Natija |
| 2 | Akmal | 85 | |
| 3 | Aziza | 55 | |
| 4 | Botir | 92 | |
| 5 | Dilshod | 45 | |
| 6 | Eldor | 70 | |
| 7 | Feruz | 60 | |
| 8 | Gulnoza | 88 |
C2 da: =IF(B2>=60, "O'tdi", "Yiqildi")
C2:C8 ga sudrang.
Conditional Formatting:
- "O'tdi" — yashil
- "Yiqildi" — qizil
Saqlang: 1-if.xlsx
Topshiriq 2 — Harf baho
Oldingi 1-if.xlsx ni davom ettiring. D ustunga harf baho:
D2:
=IF(B2>=90,"A",
IF(B2>=80,"B",
IF(B2>=70,"C",
IF(B2>=60,"D","F"))))D2:D8 ga sudrang.
Conditional Formatting har harfga:
- A — yashil
- B — och yashil
- C — sariq
- D — to'q sariq
- F — qizil
Saqlang: 2-harf-baho.xlsx
Topshiriq 3 — AND/OR sharti
Yangi Workbook. Stipendiya hisobi:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Talaba | Word | Excel | PPT | Stipendiya |
| 2 | Akmal | 85 | 92 | 78 | |
| 3 | Aziza | 65 | 70 | 95 | |
| 4 | Botir | 95 | 95 | 90 | |
| 5 | Dilshod | 50 | 65 | 60 | |
| 6 | Eldor | 90 | 85 | 92 |
Stipendiya qoidalari:
- Hamma fan 80+ bo'lsa — "Katta stipendiya"
- Hamma fan 60+ bo'lsa (lekin yuqorisi emas) — "Stipendiya"
- Aks holda — "Yo'q"
E2:
=IF(AND(B2>=80, C2>=80, D2>=80), "Katta stipendiya",
IF(AND(B2>=60, C2>=60, D2>=60), "Stipendiya",
"Yo'q"))E2:E6 ga sudrang.
Saqlang: 3-stipendiya.xlsx
Topshiriq 4 — COUNTIF va SUMIF
Yangi Workbook. Mahsulot sotuvi:
| A | B | C | |
|---|---|---|---|
| 1 | Sana | Mahsulot | Summa |
| 2 | 1-may | Non | 50000 |
| 3 | 1-may | Sut | 24000 |
| 4 | 1-may | Yog' | 90000 |
| 5 | 2-may | Non | 75000 |
| 6 | 2-may | Sut | 36000 |
| 7 | 2-may | Choy | 50000 |
| 8 | 3-may | Non | 60000 |
| 9 | 3-may | Yog' | 45000 |
| 10 | 3-may | Choy | 75000 |
Tahlil (alohida joyda — E ustun):
| Mahsulot | Necha marta sotilgan | Jami daromad |
|---|---|---|
| Non | =COUNTIF(B2:B10,"Non") | =SUMIF(B2:B10,"Non",C2:C10) |
| Sut | ... | ... |
| Yog' | ... | ... |
| Choy | ... | ... |
Hammasini hisoblang.
Saqlang: 4-sotuv-tahlil.xlsx
Topshiriq 5 — Korxona savdo bo'limi
Yangi Workbook. Sotuvchilar reyting:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Sotuvchi | Hudud | Savdo | Reja | Foiz | Reyting |
| 2 | Akmal | Toshkent | 5000000 | 4000000 | ||
| 3 | Aziza | Samarqand | 3000000 | 3500000 | ||
| 4 | Botir | Toshkent | 6000000 | 5000000 | ||
| 5 | Dilshod | Buxoro | 2500000 | 3000000 | ||
| 6 | Eldor | Toshkent | 4500000 | 4000000 | ||
| 7 | Feruz | Samarqand | 4000000 | 3500000 | ||
| 8 | Gulnoza | Buxoro | 3500000 | 3000000 |
Formulalar:
- E2:
=C2/D2(Format: Percentage) - F2:
=IF(E2>=1.2,"Ajoyib", IF(E2>=1.0,"Yaxshi", IF(E2>=0.8,"O'rtacha","Yomon")))
Conditional Formatting F ustunga: ranglar bilan.
Statistika (alohida joyda):
- Umumiy savdo:
=SUM(C2:C8) - Toshkentdan:
=SUMIF(B2:B8,"Toshkent",C2:C8) - Samarqanddan:
=SUMIF(...) - Buxorodan:
=SUMIF(...) - Rejani bajarganlar soni:
=COUNTIF(E2:E8,">=1") - "Ajoyib" reytingdagilar:
=COUNTIF(F2:F8,"Ajoyib")
Saqlang: 5-sotuvchilar.xlsx
Topshiriq 6 — Murakkab tahlil (COUNTIFS, SUMIFS)
Oldingi 5-sotuvchilar.xlsx ni davom ettiring.
Yangi savollar:
- Toshkentdan VA rejani bajarganlar soni:
=COUNTIFS(B2:B8,"Toshkent",E2:E8,">=1") - Toshkentdan VA rejani bajarganlar savdo summasi:
=SUMIFS(C2:C8,B2:B8,"Toshkent",E2:E8,">=1") - "Ajoyib" reytingdagilar o'rtacha foizi:
=AVERAGEIF(F2:F8,"Ajoyib",E2:E8) - Buxorodan "Ajoyib" yoki "Yaxshi" reytingdagilar: 2 ta COUNTIFS bilan
Saqlang: 6-murakkab-tahlil.xlsx
Topshiriq 7 — IFERROR mashqi
Yangi Workbook. Foiz hisobi:
| A | B | C | |
|---|---|---|---|
| 1 | Bo'lingan | Bo'luvchi | Natija |
| 2 | 100 | 5 | |
| 3 | 50 | 0 | |
| 4 | 200 | 10 | |
| 5 | 75 | 0 | |
| 6 | 300 | 6 |
C2:
- Avval:
=A2/B2— ba'zilarida#DIV/0!chiqadi - Tuzating:
=IFERROR(A2/B2, "Bo'lib bo'lmaydi")yoki=IFERROR(A2/B2, 0)
Saqlang: 7-iferror.xlsx
Asosiy tushunchalar (lug'at)
| Termin | Qisqacha izoh |
|---|---|
| IF | Shartli funksiya (agar ... bo'lsa) |
| Nested IF | IF ichida IF |
| IFS | Yangi versiya, ko'p shart uchun |
| AND | Va (hammasi to'g'ri) |
| OR | Yoki (kamida biri to'g'ri) |
| NOT | Emas |
| TRUE / FALSE | Rost / Yolg'on |
| COUNTIF | Shartli sanash |
| SUMIF | Shartli yig'indi |
| AVERAGEIF | Shartli o'rtacha |
| COUNTIFS / SUMIFS | Bir nechta shartli sanash/yig'indi |
| IFERROR | Xato bo'lganda alternatif natija |
| Comparison operator | Taqqoslash operatori (=, <>, >, <, >=, <=) |
| Wildcard | Joker belgi (*, ?) |