Excel'de Karmaşık Koşullarda Ustalaşma
Excel'de EĞER fonksiyonunu birden fazla koşulla kullanmak için, onu VE (tüm koşulların doğru olması gerekir) veya YADA (tek bir koşulun doğru olması yeterlidir) mantıksal operatörleriyle birleştirmeniz veya iç içe yapılar oluşturmanız gerekir. İki koşul için temel sözdizimi şöyledir: =EĞER(VE(A2>10; B2="Evet"); "Sonuç"; "Alternatif"). Bu yaklaşım, her türlü karmaşıklıktaki tablolarda karar alma süreçlerini otomatikleştirmenize olanak tanır.
Mantıksal Bağlaçlar: EĞER İçinde VE ve YADA
Birden fazla kriteri aynı anda kontrol etmenin en temiz yolu, VE veya YADA fonksiyonlarını EĞER'in ilk argümanı içine yerleştirmektir. Bu, hantal iç içe yapılar oluşturma ihtiyacını ortadan kaldırır.
Tüm Koşulların Sağlanması Gerektiğinde (VE)
Sonucun yalnızca listelenen tüm kurallara uyulduğunda olumlu olması gerekiyorsa VE fonksiyonunu kullanın. Örneğin, prim sadece plan tamamlandığında ve geç kalma olmadığında ödenir.
=EĞER(VE(B2>=100%; C2=0); "Prim"; "Prim Yok")
Burada formül, yalnızca B2'deki değer 100%'e eşit veya büyükse ve C2'de 0 varsa "Prim" sonucunu döndürür. Koşullardan en az biri ihlal edilirse, sonuç "Prim Yok" olacaktır.
Tek Bir Koşulun Yeterli Olduğu Durumlar (YADA)
YADA fonksiyonu, koşullardan herhangi biri doğru olduğunda çalışır. Bu, filtreleme veya özel durumları vurgulama için kullanışlıdır. Örneğin, indirim emekliler veya çok çocuklu aileler için geçerlidir.
=EĞER(YADA(D2="Emekli"; E2="Çok Çocuklu"); "%10 İndirim"; "Normal Fiyat")
Operatörleri birleştirebilirsiniz. Örneğin, tutarın yüksek olması VE müşterinin "VIP" veya "Ortak" olması durumunu kontrol edebilirsiniz:
=EĞER(VE(F2>10000; YADA(G2="VIP"; G2="Ortak")); "Özel Kontrol"; "Standart")
Sıralı Kontrol İçin İç İçe EĞER Fonksiyonları
Koşulların sırayla (merdiven basamakları gibi) kontrol edilmesi gerekiyorsa, bir EĞER fonksiyonunu diğerinin içine yerleştirme yöntemi kullanılır. Bu, değer aralıklarına bağlı olarak kategoriler, puanlar veya durumlar atamak için uygundur.
Klasik bir örnek — bir test sonucunun değerlendirilmesi:
- 90'dan fazla — "Mükemmel"
- 75 ile 90 arasında — "İyi"
- 75'ten az — "Tekrar Sınav"
Formül şu şekilde görünecektir:
=EĞER(A2>90; "Mükemmel"; EĞER(A2>=75; "İyi"; "Tekrar Sınav"))
Nasıl Çalışır:
- Excel ilk koşulu (
A2>90) kontrol eder. Doğruysa — "Mükemmel" yazar ve durur. - Yanlışsa — ikinci
EĞER'e geçer veA2>=75koşulunu kontrol eder. - Bu da yanlışsa — son kontrolün yanlış sonucu için değeri verir ("Tekrar Sınav").
3-4 iç içe geçmeden daha uzun zincirler oluşturmayın. Bu tür formülleri okumak ve hata ayıklamak zordur. Karmaşık sınıflandırmalar için DÜŞEYARA veya ARAMA fonksiyonlarını kullanmak daha iyidir.
Veri Toplama: ÇOK.EĞERTOPLA ve ÇOK.EĞERSAY
Kullanıcılar genellikle birden fazla koşulu karşılayan hücreleri toplamak veya saymak için iç içe EĞER kullanmaya çalışır. Bu bir hatadır. Bu görevler için, daha hızlı ve daha basit çalışan özel fonksiyonlar mevcuttur.
| Görev | Fonksiyon | Örnek Formül |
|---|---|---|
| Birden fazla kritere göre toplam hesaplama | ÇOK.EĞERTOPLA | =ÇOK.EĞERTOPLA(C:C; A:A; "Moskova"; B:B; ">1000") |
| Koşulları sağlayan satır sayısını hesaplama | ÇOK.EĞERSAY | =ÇOK.EĞERSAY(A:A; "Aktif"; B:B; "Yönetici") |
Normal EĞER'in aksine, bu fonksiyonlar iç içe geçme gerektirmez ve "aralık – kriter" çiftlerini sonsuz sayıda listelemenize olanak tanır.
Pratik Örnek: Sipariş Durumu Hesaplama
Sipariş tutarına (B sütunu) ve bölgeye (C sütunu) dayalı olarak D sütununda işleme önceliğini otomatik olarak belirlememiz gereken bir sipariş tablosu hayal edin.
Koşullar:
- Bölge "Moskova" ise ve tutar > 50.000 ise → Öncelik "Yüksek".
- Sadece tutar > 50.000 ise (herhangi bir bölge) → Öncelik "Orta".
- Diğer tüm durumlar → Öncelik "Düşük".
D2 hücresi için hazır formül:
=EĞER(VE(C2="Moskova"; B2>50000); "Yüksek"; EĞER(B2>50000; "Orta"; "Düşük"))
Bu yapı önce Moskova için sıkı koşul kombinasyonunu kontrol eder. Eğer bu sağlanmazsa, formül tüm bölgeler için genel tutar kontrolüne geçer.
Koşullarla Çalışırken Sık Yapılan Hatalar
- Argüman Ayırıcılar. Excel'in Rusça sürümünde argümanlar noktalı virgül (
;) ile ayrılır, İngilizce sürümünde ise virgül (,) kullanılır. Yanlış ayırıcı kullanımı#DEĞER!hatasına neden olur. - Tırnak İşareti İçindeki Metin. Formül içindeki herhangi bir metin değeri (örneğin, "Evet", "Moskova") çift tırnak içine alınmalıdır. Sayılar tırnaksız yazılır.
- Gereksiz Parantezler. Açılan parantez sayısı, kapanan parantez sayısına tam olarak eşit olmalıdır. Excel düzenleyicisi genellikle eşleşen parantezleri renkle vurgular — kontrol için bunu kullanın.
- Sayı ve Metinde Yanlışlık. "0" metni ile 0 sayısının farklı değerler olduğunu unutmayın. Koşul hücrelerindeki veri formatının formülde beklenenle eşleştiğinden emin olun.
SSS
64'ten fazla iç içe EĞER kullanabilir miyim? Modern Excel sürümlerinde (2016 ve üzeri, ayrıca Office 365) iç içe geçme limiti 64'e çıkarılmıştır. Ancak pratikte bu tür formüller dosyanın çalışma hızını ciddi şekilde düşürür. Mantığı yardımcı sütunlara bölmek daha iyidir.
Koşuldaki boş hücreleri nasıl yok sayabilirim?
Boşluk kontrolü ekleyin. Örneğin: =EĞER(A2=""; ""; EĞER(A2>10; "Büyük"; "Küçük")). Önce hücrenin boş olup olmadığını kontrol ederiz ve eğer boşsa, further hesaplamalar yapmadan boşluk döndürürüz.
Formül #AD? hatası veriyorsa ne yapmalıyım?
#AD? hatası çoğunlukla fonksiyon adında bir yazım hatası olduğunu (örneğin, EĞER yerine EĞİR yazılması) veya metin değerinin etrafında tırnak eksik olduğunu gösterir. Fonksiyonların yazımını ve tırnakların varlığını kontrol edin.