Excel'de EĞER Fonksiyonu Nasıl Çalışır?
EĞER fonksiyonu (İngilizce sürümünde IF), tablolarda mantıksal kontroller gerçekleştirmenizi sağlar. Koşul doğruysa bir değer, yanlışsa başka bir değer döndürür. Bu, makro kullanmadan hesaplamaları otomatikleştirmek, verileri kategorize etmek ve akıllı raporlar oluşturmak için temel bir araçtır.
Basit bir örnek: =EĞER(A1>100; "Çok"; "Az"). A1 hücresindeki sayı 100'den büyükse, formül "Çok" metnini döndürür, aksi takdirde "Az" döndürür.
Fonksiyonun Söz Dizimi ve Argümanları
Formül yapısını anlamak, hatalardan kaçınmanın anahtarıdır. Fonksiyon üç argüman alır ve bunlardan ikisi zorunludur.
| Argüman | Açıklama | Zorunlu mu? |
|---|---|---|
| Mantıksal_ifade | Kontrol edilmesi gereken koşul (örneğin, A1>10 veya B2="Evet"). DOĞRU veya YANLIŞ döndürmelidir. | Evet |
| Değereğerdoğru | Koşul sağlandığında formülün döndüreceği sonuç. Sayı, metin veya başka bir formül olabilir. | Evet |
| Değereğeryanlış | Koşul sağlanmazsa dönecek sonuç. Atlanırsa, 0 veya YANLIŞ döner. | Hayır |
Argüman Ayırıcılar
Excel'in Türkçe yerel ayarlarında argümanlar noktalı virgül (;) ile ayrılır. İngilizce sürümünde virgül (,) kullanılır. Formül hata veriyorsa, sisteminizin bölge ayarlarını kontrol edin.
Temel Kullanım Örnekleri
1. Sayısal Karşılaştırmalar
En yaygın senaryo, değerleri bir eşikle karşılaştırmaktır.
- Görev: Bir öğrencinin sınavı geçip geçmediğini belirleyin (geçme notu 60).
- Formül:
=EĞER(B2>=60; "Geçti"; "Kaldı")
2. Metinlerle Çalışma
EĞER fonksiyonu metin dizelerini karşılaştırabilir. Metin her zaman çift tırnak içine alınmalıdır.
- Görev: Sipariş durumunu kontrol edin.
- Formül:
=EĞER(C2="Ödendi"; "Sevkiyat Yap"; "Ödeme Bekle")
Metin karşılaştırmasında harf büyük/küçüklüğü önemli değildir. "ödendi", "Ödendi" ve "ÖDENDI" koşulları aynı kabul edilir.
3. Boş Hücreler
Sıklıkla bir hücrenin veriyle doldurulup doldurulmadığını kontrol etmeniz gerekir.
- Görev: A1 hücresi boşsa 0 döndür, aksi takdirde A1'deki değeri bırak.
- Formül:
=EĞER(A1=""; 0; A1)
İç İçe EĞER Fonksiyonları: Çoklu Seçim
Tek bir koşul yetersiz kaldığında, bir EĞER fonksiyonunu diğerinin içine yerleştirebilirsiniz. Bu, birkaç seçeneği ardışık olarak kontrol etmenizi sağlar.
İç içe geçme söz dizimi:
=EĞER(koşul1; sonuç1; EĞER(koşul2; sonuç2; varsayılan_sonuç))
Örnek: Satış Kategorizasyonu
Diyelim ki satış tutarına göre bir temsilciye statü atamanız gerekiyor:
- 100.000 TL üzeri — "Altın"
- 50.000 ile 100.000 TL arası — "Gümüş"
- 50.000 TL altı — "Bronz"
Formül:
=EĞER(B2>100000; "Altın"; EĞER(B2>=50000; "Gümüş"; "Bronz"))
Nasıl Çalışır:
- Excel ilk koşulu (
B2>100000) kontrol eder. Doğruysa "Altın" yazar ve işlemi sonlandırır. - Yanlışsa, ikinci EĞER'e geçer.
B2>=50000koşulunu kontrol eder. Doğruysa "Gümüş".- Bu da yanlışsa "Bronz" yazar.
İç İçe Geçme Sınırı Eski Excel sürümlerinde en fazla 7 EĞER fonksiyonu iç içe geçirilebilirdi, modern sürümlerde (2016 ve sonrası, Office 365) bu sınır 64'tür. Ancak uzun zincirler okunması ve hata ayıklaması yapılması zor yapılar oluşturur. Karmaşık koşullar için ARA (XLOOKUP) veya eşleştirme tablosuyla DÜŞEYARA (VLOOKUP) fonksiyonlarını kullanmak daha iyidir.
VE ve VEYA Fonksiyonlarıyla Kombinasyon
Aynı anda birden fazla koşulu kontrol etmek için VE (tüm koşulların doğru olması gerekir) ve VEYA (koşullardan sadece birinin doğru olması yeterlidir) mantıksal operatörleri kullanılır.
VE Fonksiyonu (AND)
- Senaryo: Prim sadece plan gerçekleştirildiyse (VE) disiplin cezası yoksa verilir.
- Formül:
=EĞER(VE(B2>=%100; C2="Hayır"); "Prim Var"; "Prim Yok")
```
### VEYA Fonksiyonu (OR)
* **Senaryo:** Emeklilere (**VEYA**) çok çocuklu ailelere indirim uygulanır.
* **Formül:**
```excel
=EĞER(VEYA(D2="Emekli"; D2="Çok Çocuklu"); "%10 İndirim"; "Normal Fiyat")
```
## Modern Alternatifler: ÇOK.EĞER (IFS) Fonksiyonu
Excel 2019 veya Office 365 kullanıyorsanız, **ÇOK.EĞER** (IFS) fonksiyonunu kullanın. Bu fonksiyon hantal iç içe geçmiş yapıların yerine geçer ve formülü daha temiz hale getirir.
**Söz Dizimi:**
`=ÇOK.EĞER(koşul1; değer1; koşul2; değer2; ...)`
**Satış kategorileri örneği (yukarıdaki bölümden):**
```excel
=ÇOK.EĞER(B2>100000; "Altın"; B2>=50000; "Gümüş"; DOĞRU; "Bronz")
Dikkat: Son koşul olan DOĞRU, "diğer tüm durumlarda" anlamına gelir ve son Değer_eğer_yanlış kısmının yerine geçer.
Sık Yapılan Hatalar ve Çözüm Yolları
| Hata | Neden | Çözüm |
|---|---|---|
| #DEĞER! | Mantıksal ifade bir hata döndürüyor (örneğin, koşul içinde sıfıra bölme). | Kaynak verileri ve hücre referanslarını kontrol edin. |
| #AD? | Fonksiyon adında yazım hatası veya metin için tırnak eksikliği. | EĞER yazımını kontrol edin ve metin değerlerinin tırnak içinde "Metin" olduğundan emin olun. |
| Yanlış Sonuç | İç içe EĞER'lerde koşulların yanlış sıralanması. | Daha katı koşulları her zaman önce yerleştirin (büyükten küçüğe veya tam tersi). |
| Gereksiz Boşluklar | Gizli boşluklar nedeniyle metin karşılaştırması çalışmıyor ("Evet " ≠ "Evet"). | Karşılaştırmadan önce verileri temizlemek için KIRP (TRIM) fonksiyonunu kullanın. |
SSS
Hücreleri biçimlendirmek için EĞER kullanılabilir mi? EĞER fonksiyonu doğrudan renk değil, değer döndürür. Koşula bağlı olarak hücre rengini değiştirmek için Koşullu Biçimlendirmeyi kullanın ("Giriş" sekmesi → "Koşullu Biçimlendirme").
Üçüncü argüman belirtilmezse EĞER ne döndürür?
Koşul yanlışsa ve "Değer_eğer_yanlış" argümanı atlanırsa, fonksiyon mantıksal YANLIŞ değerini döndürür. Boş bir hücre istiyorsanız, açıkça iki tırnak belirtin: "".
Metni ve EĞER sonucunu nasıl birleştiririm?
Ampersand & veya BİRLEŞTİR (CONCAT) fonksiyonunu kullanın.
Örnek: "Durum: " & EĞER(A1>0; "Aktif"; "Arşiv").