İç içe EĞER (İngilizce nested IF), başka bir EĞER'in içindeki bir EĞER'dir ve ikiden fazla olası sonuç olduğunda kullanılır. =EĞER(B2>=90;"A";EĞER(B2>=80;"B";EĞER(B2>=70;"C";"F"))) 90 veya üzeri için A, 80 ile 89 arası için B, 70 ile 79 arası için C, 70'in altı için F verir. Tablodaki formülleri de bu şekilde, Türkçe adlarla ve noktalı virgülle yazabilirsiniz.
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Grade |
| 2 | Ana | 94 | A |
| 3 | Ben | 81 | B |
| 4 | Chloe | 70 | C |
| 5 | Dan | 65 | F |
| 6 | Eve | 88 | B |
| 7 | Finn | 90 | A |
=EĞER(B2>=90;"A";EĞER(B2>=80;"B";EĞER(B2>=70;"C";"F")))C2'ye tıklayıp formül çubuğuna bakın: üç EĞER fonksiyonu, sonda üç kapanış parantezi. Dan'in B5'teki puanını 75 yapın, notu F'den C'ye döner.
İç içe EĞER nasıl okunur
Excel formülü baştan okur ve DOĞRU olan ilk sınamada durur:
=IF(B2>=90, "A",
IF(B2>=80, "B",
IF(B2>=70, "C",
"F")))
- Puan 90 veya daha fazla mı? O zaman A, başka hiçbir şey kontrol edilmez.
- Değilse, 80 veya daha fazla mı? O zaman B. Bu sınamanın "ve 90'ın altında" demesi gerekmez, çünkü 90 veya üzeri bir puan buraya hiç ulaşmaz.
- Değilse, 70 veya daha fazla mı? O zaman C.
- Değilse F, yani son EĞER'in value_if_false değeri.
Her iç EĞER, kendinden öncekinin value_if_false yerinde durur. Excel 64 düzeye kadar izin verir, ama dört beşten fazla düzeyi olan bir formülü gözle kontrol etmek zordur. Excel bir formülün içinde satır sonlarını kabul eder, böylece uzun bir formülü formül çubuğunda bu şekilde düzenleyebilirsiniz: her EĞER'den önce Alt+Enter (Windows) veya Control+Option+Return (Mac) tuşlarına basın.
Koşulların sırası neden önemlidir
Excel DOĞRU olan ilk sınamada durduğu için >= kullandığınızda eşikler en yüksekten en düşüğe doğru gitmelidir. D sütununda aynı üç sınama ters sırada:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Score | Right order | Wrong order |
| 2 | Ana | 94 | A | C |
| 3 | Ben | 81 | B | C |
| 4 | Chloe | 70 | C | C |
| 5 | Dan | 65 | F | F |
| 6 | Eve | 88 | B | C |
=EĞER(B2>=70;"C";EĞER(B2>=80;"B";EĞER(B2>=90;"A";"F")))D sütununda 70 veya üzeri alan herkes C alır: 94 puan ilk sınamayı, B2>=70'i geçer ve B ile A sınamalarına hiç ulaşılmaz. En düşük aralıkla başlamayı tercih ederseniz işleçleri ters çevirin: =EĞER(B2<70;"F";EĞER(B2<80;"C";EĞER(B2<90;"B";"A"))) C sütunuyla aynı notları verir.
Metinle iç içe EĞER
Sınamalar metni de karşılaştırabilir. Burada teslimat ücreti bölgeye bağlıdır ve adı geçmeyen her bölge son değeri alır:
| A | B | C | |
|---|---|---|---|
| 1 | Order | Region | Fee |
| 2 | 1001 | North | $5.00 |
| 3 | 1002 | South | $7.00 |
| 4 | 1003 | West | $9.00 |
| 5 | 1004 | East | $6.00 |
| 6 | 1005 | Islands | $9.00 |
=EĞER(B2="North";5;EĞER(B2="South";7;EĞER(B2="East";6;9)))West ve Islands üç sınamanın hiçbirine uymaz ve son değeri, $9.00'ı alır. Buradaki gibi her sınama aynı hücreyi sabit bir değerle karşılaştırıyorsa, İLKEŞLEŞEN (İngilizce SWITCH) aynı kuralı her bölgeyi bir kez yazarak ifade eder: =İLKEŞLEŞEN(B2;"North";5;"South";7;"East";6;9). İLKEŞLEŞEN sayfasına bakın.
VE ile iç içe EĞER
Bir aralık iki hücreye bağlı olduğunda iç içe EĞER düzeylerini VE veya YADA ile birleştirebilir. Satışı 2.000 veya üzeri ve en az 3 yılı olan temsilci %10, 2.000'in üzerindeki diğer herkes %5 alır, geri kalanlar hiçbir şey almaz:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Rep | Sales | Years | Rate |
| 2 | Ana | 2400 | 4 | 10% |
| 3 | Ben | 2100 | 1 | 5% |
| 4 | Chloe | 1500 | 6 | 0% |
| 5 | Dan | 3000 | 3 | 10% |
| 6 | Eve | 900 | 2 | 0% |
=EĞER(VE(B2>=2000;C2>=3);10%;EĞER(B2>=2000;5%;0))Ana ve Dan %10'u hak eder, Ben'in satışı var ama yılı yok ve %5 alır, Chloe ile Eve 0% alır. Burada da sıra önemlidir: daha katı sınama önce gelir.
ÇOKEĞER: iç içe yazmadan aynı şey
Excel 2019, Excel 2021 ve Microsoft 365'te ÇOKEĞER (İngilizce IFS) sınamaları ve sonuçları çiftler hâlinde alır; içte EĞER yoktur ve tek bir kapanış parantezi vardır. Son sınama olarak DOĞRU "geri kalan her şey" işlevi görür:
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F")
Türkçe Excel'de: =ÇOKEĞER(B2>=90;"A";B2>=80;"B";B2>=70;"C";DOĞRU;"F"). Koşulları aynı sırayla okur ve DOĞRU olan ilkinde durur, bu yüzden yukarıdaki sıra kuralı yine geçerlidir. ÇOKEĞER sayfası hiçbir sınama uymadığında döndürdüğü #YOK (İngilizce #N/A) hatası dahil konuyu anlatıyor; tablo hata adlarını İngilizce gösterir. Excel 2016 ve öncesinde ÇOKEĞER yoktur ve onu kullanan bir dosya orada #AD? (İngilizce #NAME?) gösterir.
Alıştırma: üç aralıklı prim
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Commission |
| 2 | Ana | $6,200 | |
| 3 | Ben | $2,400 | |
| 4 | Chloe | $600 |
Sıra sende: C2 hücresinde B2'deki satışlar 5000 veya üzeriyse %10'unu, 1000 veya üzeriyse %5'ini, değilse 0 ödeyin. Formül C4'e kadar aşağı doldurulur.
Çok sayıda EĞER yerine bir arama tablosu
Aralıklar sayıysa ve üç dörtten fazlaysa, eşikleri küçük bir tabloda tutun ve onlarda arama yapın. Tablo en düşük eşikten yukarıya doğru sıralanır ve yaklaşık eşleşme (son bağımsız değişken olarak DOĞRU) puanın üstünde olmayan en büyük eşiğin satırını döndürür:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Student | Score | Grade | Min score | Grade | |
| 2 | Ana | 94 | A | 0 | F | |
| 3 | Ben | 81 | B | 70 | C | |
| 4 | Chloe | 70 | C | 80 | B | |
| 5 | Dan | 65 | F | 90 | A | |
| 6 | Eve | 88 | B |
=DÜŞEYARA(B2;$E$2:$F$5;2;DOĞRU)Sonuçlar sayfanın başındaki iç içe EĞER ile aynıdır. B aralığını 85'e taşımak için E4'ü 85 yapın: hiçbir formül değişmez ve her not güncellenir. ÇAPRAZARA (İngilizce XLOOKUP) ile aynı arama =ÇAPRAZARA(B2;$E$2:$E$5;$F$2:$F$5;;-1) olur; burada -1 "tam eşleşme ya da bir sonraki küçük değer" demektir, bu durumda tablonun sıralı olması gerekmez.
Deneyin: aralık tablosu hazır, aramayı yazın.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Student | Score | Grade | Min score | Grade | |
| 2 | Ana | 86 | 0 | F | ||
| 3 | 70 | C | ||||
| 4 | 80 | B | ||||
| 5 | 90 | A |
Sıra sende: C2 hücresinde B2'deki puanın notunu E2:F5'teki aralık tablosundan döndürün.
Sıkça Sorulan Sorular
Excel'de birden fazla EĞER nasıl yazılır?
Sonraki EĞER'i bir öncekinin value_if_false bağımsız değişkenine koyun: =EĞER(B2>=90;"A";EĞER(B2>=80;"B";EĞER(B2>=70;"C";"F"))). Excel koşulları ilkinden sonuncusuna doğru sınar ve DOĞRU olan ilk koşulda durur.
Excel'de kaç EĞER fonksiyonu iç içe yazılabilir?
Excel 2007 ve sonrasında 64 düzeye kadar. Bu sınıra varmadan çok önce formülü okumak ve kontrol etmek zorlaşır; üç dörtten fazla aralık varsa yaklaşık eşleşmeli DÜŞEYARA veya ÇAPRAZARA kullanan bir arama tablosunun bakımı daha kolaydır.
İç içe EĞER formülüm neden yanlış sonuç veriyor?
Genellikle koşullar yanlış sıradadır. >= sınamalarında en yüksek eşikle başlayın: B2>=70 önce gelirse 95 puan orada durur ve 70 aralığının sonucunu alır.
Excel'de iç içe EĞER yerine ne kullanabilirim?
Excel 2019 ve sonrasında ÇOKEĞER (=ÇOKEĞER(B2>=90;"A";B2>=80;"B";DOĞRU;"F")), tek bir değeri sabit değerlerle karşılaştırırken İLKEŞLEŞEN, sayısal aralıklar için de =DÜŞEYARA(B2;$E$2:$F$5;2;DOĞRU) ile bir arama tablosu.