Excel'de Mantıksal Fonksiyonlarda Ustalık

Kerem Aydın·9 Temmuz 2026·⏱4 dk

EĞER fonksiyonu, 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, hesaplamaları otomatikleştirmek için temel bir araçtır; verileri anında değerlendirmeye, durum atamaya veya manuel müdahale olmadan primleri hesaplamaya olanak tanır. Aşağıda söz dizimi, birden fazla koşulla çalışma ve formülleri basitleştirmek için alternatif fonksiyonlar ele alınmaktadır.

Temel Söz Dizimi ve İlk Koşul

Standart formül şu şekildedir: =EĞER(mantıksal_ifade; değer_eğer_doğru; değer_eğer_yanlış)

Excel'in Türkçe sürümünde bağımsız değişken ayırıcı olarak noktalı virgül (;) kullanılır. Metin değerleri mutlaka tırnak içine alınmalıdır; sayılar ve hücre referansları ise alınmaz.

Prim hesaplama örneği: A2 hücresinde satış tutarı belirtildiğini varsayalım. Bu tutar 100.000 TL'yi aşarsa çalışan %10 prim alır, aksi takdirde 0 alır. B2 hücresindeki formül: =EĞER(A2>100000; A2*0,1; 0)

Formülü aşağı kopyalarken bozulmaması için sabit bir eşik değere başvuruyorsanız mutlak referanslar kullanın ($ işareti, örneğin $C$1).

Birden Fazla Koşulla Çalışma: İç İçe Geçme ve ÇOKLU.EĞER

Tek bir koşul yetersiz kaldığında iki yol izlenebilir: klasik iç içe geçme veya modern ÇOKLU.EĞER fonksiyonu (Excel 2019 ve Office 365'te mevcuttur).

Seçenek 1: İç İçe EĞER Fonksiyonları

Bir EĞER fonksiyonunu diğerinin içine yerleştirebilirsiniz. Bu, koşulları sırayla kontrol etmenize olanak tanır. Maksimum iç içe geçme düzeyi 64'tür, ancak okunabilirlik açısından 3–5 düzeyle sınırlamak daha iyidir.

Görev: Satış tutarına göre performans kategorisi atayın.

  • 200.000 — "Mükemmel"

  • 100.000 — "İyi"

  • 50.000 — "Normal"

  • Diğerleri — "Kötü"

Formül: =EĞER(A2>=200000; "Mükemmel"; EĞER(A2>=100000; "İyi"; EĞER(A2>=50000; "Normal"; "Kötü")))

Çalışma mantığı: Excel koşulları soldan sağa kontrol eder. Doğru olanı bulduğu anda sonucu verir ve further hesaplamayı durdurur. Bu nedenle, en katı koşullarla (büyükten küçüğe) başlamak önemlidir.

Seçenek 2: ÇOKLU.EĞER Fonksiyonu (Önerilen)

Bu fonksiyon özellikle çoklu kontroller için tasarlanmıştır. Hantal parantezlerden kurtulur ve formülü şeffaf hale getirir.

Söz dizimi: =ÇOKLU.EĞER(koşul1; değer1; koşul2; değer2; ...; varsayılan_koşul)

Aynı görev şu şekilde çözülür: =ÇOKLU.EĞER(A2>=200000; "Mükemmel"; A2>=100000; "İyi"; A2>=50000; "Normal"; DOĞRU; "Kötü")

ÇOKLU.EĞER fonksiyonunda ayrı bir "değer_eğer_yanlış" bağımsız değişkeni yoktur. Varsayılan sonucu (hiçbir koşul karşılanmazsa) belirlemek için son koşul olarak DOĞRU (veya 1) belirtin ve yanına istenen değeri yazın.

VE ve YA DA Fonksiyonlarıyla Kombinasyon

Sıklıkla tek bir koşul içinde birden fazla kriteri aynı anda kontrol etmek gerekir. Bunun için VE (tüm koşulların doğru olması gerekir) ve YA DA (doğru olması için yeterli olan tek bir koşul) mantıksal operatörleri kullanılır.

Örnek 1: Başvuru Onayı (VE fonksiyonu) Kredi, deneyim 2 yıldan fazla VE maaş 50.000'in üzerindeyse onaylanır. =EĞER(VE(B2>2; C2>50000); "Onaylandı"; "Reddedildi")

Örnek 2: İmtiyazlılar İçin İndirim (YA DA fonksiyonu) İndirim emeklilere YA DA çok çocuklu ailelere verilir. =EĞER(YA DA(D2="Emekli"; E2="Çok Çocuklu"); "%10 İndirim"; "İndirimsiz")

Bu yapılar birleştirilerek tek bir hücre içinde güçlü veri filtreleri oluşturulabilir.

Pratik Kullanım Senaryoları

GörevFormülAçıklama
Son tarih durumu=EĞER(BUGÜN()>A2; "Gecikmiş"; "Zamanında")Mevcut tarihin A2 hücresindeki tarihle karşılaştırılması.
Boşlukların doldurulması=EĞER(B2=""; "Veri yok"; B2)Hücre boşsa metin gösterir, aksi takdirde değeri gösterir.
Vergi hesaplama=ÇOKLU.EĞER(C2>1000000; C20,15; C2>500000; C20,1; 0)Artan oranlı vergilendirme skalası.
Hata arama=EĞER(HATAVAR.MI(DÜŞEYARA(...)); "Bulunamadı"; DÜŞEYARA(...))Değer ararken hatalara karşı koruma (Excel'in eski sürümleri için).

BUGÜN() fonksiyonu parantez içinde bağımsız değişken gerektirmez ve dosya her açıldığında veya sayfa yeniden hesaplandığında otomatik olarak güncellenir.

Sık Yapılan Hatalar ve Çözüm Yolları

Mantıksal formüllerle çalışırken yeni başlayanlar sıklıkla aşağıdaki sorunlarla karşılaşır:

  1. #DEĞER! — Veri türleri uyuşmadığında ortaya çıkar. Örneğin, tırnak içine alınmamış bir metni bir sayıyla karşılaştırıyorsanız veya Türkçe yerel ayarlarda noktalı virgül yerine virgül kullanıyorsanız bu hata oluşur.
  2. #AD? — Genellikle fonksiyon adında yazım hatası olduğunu (örneğin EĞERR yerine EĞER) veya metin sonucunun etrafında tırnak eksik olduğunu gösterir.
  3. Yanlış koşul sırası — İç içe geçmiş yapılar veya ÇOKLU.EĞER kullanırken daha spesifik koşulları önce yerleştirmek önemlidir. A2>200000 yerine A2>50000 koşulunu önce koyarsanız, ikinci koşul asla çalışmayacaktır.
  4. Gereksiz boşluklar — Metin karşılaştırırken formül boşluklara duyarlıdır. "Evet " ve "Evet" Excel için farklı değerlerdir. Verileri temizlemek için KIRP fonksiyonunu kullanın.

Sıkça Sorulan Sorular (SSS)

Tarihlerle çalışmak için EĞER fonksiyonu kullanılabilir mi? Evet, Excel'de tarihler sayı olarak saklanır, bu nedenle normal operatörlerle (>, <, =) karşılaştırılabilirler. Örnek: =EĞER(A1<TARİH(2024;1;1); "Eski"; "Yeni").

Formül çok uzun olursa ne yapılmalı? İç içe geçme 5 düzeyi aşarsa, formülü okumak ve düzenlemek zorlaşır. Bu gibi durumlarda, eşleşme tablosuyla birlikte DÜŞEYARA (veya XARA) fonksiyonunu kullanmak veya mantığı birkaç yardımcı sütuna bölmek daha iyidir.

EĞER hücre renkleriyle çalışır mı? Doğrudan hayır. Standart formüller biçimlendirmeyi (dolgu rengi veya yazı tipi rengi) okuyamaz. Bunun için VBA üzerinde özel bir fonksiyon oluşturmak veya formüllerle birlikte koşullu biçimlendirme kullanmak gerekir.

Neden formül beklenen metin yerine 0 döndürüyor? Fonksiyonun üçüncü bağımsız değişkenini (değer_eğer_yanlış) kontrol edin. Orada 0 varsa veya boş bırakılmışsa ve koşul karşılanmamışsa sıfır alırsınız. Ayrıca, metin görmeyi bekliyorsanız hücrenin "Sayı" olarak biçimlendirilmediğinden emin olun.