Excel'de Mantıksal Kontrollerde Ustalık
EĞER fonksiyonu, Excel'de otomasyonun temel aracıdır; belirtilen bir koşulu kontrol eder ve koşul doğruysa bir değer, yanlışsa başka bir değer döndürür. Bu fonksiyonu etkili bir şekilde kullanmak için evrensel yapıyı aklınızda tutun: =EĞER(koşul; "EVET Sonucu"; "HAYIR Sonucu"). Bu makalede, sayılar ve metinlerle çalışma senaryolarını inceleyeceğiz, koşulları nasıl birleştireceğimizi öğrenecek ve formülleri bozan tipik hatalardan kaçınmayı ele alacağız.
Ana kural: Excel'in Türkçe sürümünde fonksiyon argümanları virgül (,) yerine noktalı virgül (;) ile ayrılır. Formül içindeki metin değerleri mutlaka tırnak işaretleri içine alınmalıdır.
Söz Dizimi ve Temel Mantık
Fonksiyon ikili seçim ilkesine göre çalışır. Mantıksal bir ifadeyi değerlendirir (örneğin, A1 > 100 veya B1 = "Ödendi").
Formül yapısı:
=EĞER(mantıksal_sınama; değer_eğer_doğruysa; değer_eğer_yanlışsa)
- Mantıksal_sınama: DOĞRU veya YANLIŞ olabilen koşul.
- Değer_eğer_doğruysa: Koşul sağlandığında hücrede gösterilecek olan (sayı, metin, başka bir formül).
- Değer_eğer_yanlışsa: Koşul sağlanmadığında hücrede gösterilecek olan.
Üçüncü argüman atlanırsa, koşul sağlanmadığında fonksiyon mantıksal YANLIŞ değerini döndürür. Çoğu zaman bunun yerine görsel olarak hücrenin temiz kalması için boş bir dize "" kullanılır.
Sayısal Verilerle Çalışma
Sayısal kontroller çoğunlukla verileri kategorize etmek, prim hesaplamak veya değerleri filtrelemek için kullanılır.
Basit Eşikler
Diyelim ki 10.000 TL üzerindeki satışları "Yüksek", diğerlerini "Normal" olarak işaretlemeniz gerekiyor:
=EĞER(A2>10000; "Yüksek"; "Normal")
Değer Aralıkları
Daha hassas bir sınıflandırma için (örneğin, satın alma tutarına göre indirimler) EĞER fonksiyonunu VE ve VEYA fonksiyonlarıyla birleştirmek uygundur.
| Görev | Formül | Mantık |
|---|---|---|
| Aralık kontrolü | =EĞER(VE(A2>=1000; A2<=5000); "Orta Sepet"; "Diğer") | Değer aynı anda 1000'den büyük VE 5000'den küçük olmalıdır. |
| Değerleri hariç tutma | =EĞER(VEYA(A2=0; A2<0); "Hata"; "Doğru") | Sayı 0'a eşitse VEYA negatifse tetiklenir. |
Koşul sırası ipucu: Aralıklar için iç içe geçmiş fonksiyonlar kullanırken (VE/VEYA olmadan), koşulların çakışmasını önlemek için her zaman uç değerlerden başlayarak kontrol edin (büyükten küçüğe veya tam tersi).
Metin Verilerinin İşlenmesi
Metin koşulları yalnızca bazı arama fonksiyonlarında büyük/küçük harfe duyarlıdır, ancak doğrudan karşılaştırma (=) yapan EĞER fonksiyonu genellikle büyük/küçük harfi yoksayar (sistem ayarlarına bağlıdır, ancak standart olarak "Evet" = "evet" kabul edilir).
Tam Eşleşme
Sipariş durumunun kontrol edilmesi:
=EĞER(B2="Gönderildi"; "Kapat"; "Devam Ediyor")
Kısmi Eşleşme
Uzun bir dize içinde bir kelime bulmanız gerekiyorsa (örneğin, bir yorumda "Acil" kelimesinin varlığı), BUL veya ARA ile birlikte kullanın:
=EĞER(EHATA(ARA("acil"; C2)); "Planlı"; "Acil!")
Burada ARA kelimeyi bulmaya çalışır. Eğer kelime yoksa bir hata oluşur ve bu hatayı EHATA fonksiyonu yakalayarak sonucu "Planlı" yapar. Kelime bulunursa "Acil!" döndürülür.
İç İçe Koşullar ve Çok Seviyeli Mantık
Tek bir koşul yeterli olmadığında, bir EĞER fonksiyonunu diğerinin içine yerleştirirsiniz. Buna iç içe geçme (nested) denir.
Örnek: Plan gerçekleşmesine göre prim hesaplama:
- Gerçekleşme > %120 → "%30 Prim"
- Gerçekleşme > %100 → "%10 Prim"
- Aksi halde → "Primsiz"
Formül:
=EĞER(A2>1,2; "%30 Prim"; EĞER(A2>1; "%10 Prim"; "Primsiz"))
İç içe geçme sınırı: Modern Excel sürümleri 64 fonksiyona kadar iç içe geçmeye izin verse de, bu tür formülleri okumak ve sürdürmek son derece zordur. 3-4 seviyeden fazla iç içe geçmeniz varsa, eşleşme tablosu ile DÜŞEYARA (VLOOKUP) veya ARAMA fonksiyonunu kullanmayı düşünün.
Diğer Fonksiyonlarla Kombinasyon
EĞER fonksiyonunun gücü, diğer araçlarla birlikte kullanıldığında ortaya çıkar.
-
Matematiksel fonksiyonlarla: Koşul sağlandığında yalnızca hesaplama yapılabilir.
=EĞER(A2>0; A2*0,2; 0)— Değer pozitifse %20 ekle, aksi halde 0. -
Metin fonksiyonlarıyla: Dinamik mesaj oluşturma.
=EĞER(B2="Evet"; "Müşteri: "&A2&" onaylandı"; "Arama gerekli")—&operatörü metinleri birleştirir. -
Tarihlerle: Görevlerin gecikme kontrolü.
=EĞER(C2<BUGÜN(); "Gecikti"; "Zamanında")— Hücredeki tarihi mevcut tarihle karşılaştırır.
Sık Karşılaşılan Hatalar ve Çözümleri
Deneyimli kullanıcılar bile mantıksal formüller yazarken tipik hatalar yapabilir.
| Hata | Neden | Çözüm |
|---|---|---|
| #DEĞER! | Veri türü uyumsuzluğu veya gereksiz tırnak işaretleri. | Sayıların tırnak içinde olmadığından (doğru: 100, yanlış: "100"), metinlerin ise tırnak içinde olduğundan emin olun (doğru: "Metin"). |
| #AD? | Fonksiyon adında yazım hatası veya metnin tırnak eksikliği. | EĞER, VE, VEYA yazımını kontrol edin. Formül içindeki metin çift tırnak içinde olmalıdır. |
| Yanlış sonuç | İç içe geçmiş koşulların sırası bozuk. | Formülü en spesifik veya uç koşulla başlayacak şekilde yeniden yazın. |
| Fazladan boşluklar | Metin karşılaştırması çalışmıyor. | Karşılaştırmadan önce hücreleri temizlemek için KIRP fonksiyonunu kullanın: EĞER(KIRP(A2)="Evet"; ...) |
Sorular ve Cevaplar (SSS)
Koşul yanlışsa boş bir hücre döndürülebilir mi?
Evet. Üçüncü argüman olarak boşluk bırakmadan iki çift tırnak işareti kullanın: =EĞER(A1>10; "Çok"; ""). Hücre boş görünecektir.
Formülün boş hücreleri yoksaymasını nasıl sağlarım?
Başa bir boşluk kontrolü ekleyin: =EĞER(A2=""; ""; EĞER(A2>100; "Evet"; "Hayır")).
EĞER içindeki ARA ve BUL arasındaki fark nedir?
ARA büyük/küçük harf duyarlı değildir ("metin" ve "Metin"i bulur), ancak BUL duyarlıdır. ARA ayrıca joker karakterlere (* ve ?) izin verir.
Formül çok uzun hale gelirse ne yapmalıyım?
İç içe geçme 3 seviyeyi aşarsa, kriterleri içeren bir yardımcı tablo oluşturun ve DÜŞEYARA veya XARAMA fonksiyonunu kullanın. Bu, dosyayı daha hafif ve diğer kullanıcılar için daha anlaşılır hale getirecektir.