
IF işlevi, her Excel kullanıcısının öğrenmesi gereken ilk formüllerden biridir. Temelinde basit bir soruyu yanıtlar: "Bu koşul doğru mu yoksa yanlış mı ve her iki durumda da ne yapmalıyım?" Bu kavramı anladığınızda, temel geçti/kaldı kontrollerinden çok aşamalı notlandırma sistemlerine ve iş kurallarına kadar elektronik tablonuzun içinde doğrudan güçlü bir karar verme mantığı oluşturabilirsiniz.
Bu kılavuz size IF işlevini temelden başlayarak anlatır, ardından iç içe IF'lere, yaygın hatalara ve karmaşık mantığın okunabilir ile yönetilebilir kalmasını sağlamak için Excel'in sunduğu modern alternatiflere geçer.
IF işlevinin sözdizimi basittir:
=IF(logical_test, value_if_true, value_if_false)
A2>100, B5="Yes")B sütununun satış rakamlarını içerdiğini ve 10.000$ kotasını aşan herhangi bir temsilciyi işaretlemek istediğinizi varsayalım. C sütununa şunu girin:
=IF(B2>10000, "Quota Met", "Below Quota")
Excel, B2'nin 10.000'den büyük olup olmadığını değerlendirir. Eğer büyükse, hücrede "Quota Met" görünür; aksi takdirde "Below Quota" görünür. Tüm mekanizma bundan ibarettir — diğer her şey yalnızca bu fikrin bir uzantısıdır.
Ayrıca sonuç olarak metin yerine sayılar veya hatta başka bir formül de döndürebilirsiniz. Örneğin:
=IF(B2>10000, B2*0.1, 0)
Bu formül, yalnızca kotaya ulaşıldığında %10 komisyon öder, aksi takdirde 0 döndürür.
Mantıksal sınamada Excel'in standart karşılaştırma operatörlerinden herhangi biri kullanılabilir:
| Operatör | Anlamı | Örnek |
|---|---|---|
| = | Eşittir | A2="Approved" |
| <> | Eşit değildir | A2<>"Pending" |
| > | Büyüktür | B2>500 |
| < | Küçüktür | B2<0 |
| >= | Büyük veya eşittir | C2>=90 |
| <= | Küçük veya eşittir | C2<=59 |
Mantıksal sınamanın içinde AND (VE) ve OR (YADA) kullanarak koşulları birleştirebilirsiniz:
=IF(AND(B2>10000, C2="Active"), "Bonus Eligible", "Not Eligible")
Bu, yalnızca her iki koşul da aynı anda doğru olduğunda "Bonus Eligible" sonucunu döndürür.
Peki ya ikiden fazla sonuca ihtiyacınız varsa? Bir IF'i diğerinin içine yerleştirirsiniz (iç içe). Bunun en klasik kullanım durumu harf notu hesaplayıcıdır:
=IF(A2>=90, "A",
IF(A2>=80, "B",
IF(A2>=70, "C",
IF(A2>=60, "D", "F"))))
Excel, her bir koşulu soldan sağa doğru değerlendirir. Bir koşul DOĞRU (TRUE) olduğu anda, bu sonucu döndürür ve geri kalanını yok sayar. Dolayısıyla, 85 puanı ilk sınamayı (≥90) YANLIŞ (FALSE) olarak geçer, ikinci sınamaya (≥80) DOĞRU (TRUE) olarak takılır ve "B" döndürür.
İç içe IF'ler yalnızca metin döndürmekle sınırlı değildir. Kademeli bir indirim formülü şöyle görünebilir:
=IF(B2>=1000, B2*0.85,
IF(B2>=500, B2*0.90,
IF(B2>=100, B2*0.95, B2)))
1.000$ veya daha üzeri siparişler %15 indirim alır; 500$–999$ arası %10 indirim alır; 100$–499$ arası %5 indirim alır; geri kalan tüm tutarlar tam fiyatı öder. Bu tür bir mantık, performans kademelerinin komisyonları veya derecelendirmeleri belirlediği satış panoları ve KPI takibi gibi konularda sürekli karşınıza çıkar.
IF(A2=Yes, ...) yazmak hataya neden olur. Metinler her zaman çift tırnak içinde olmalıdır: IF(A2="Yes", ...).A2>=90 koşulundan önce A2>=60 koşulunu kontrol ederseniz, yüksek olan tüm puanlar ilk (düşük) eşiğe takılır ve asla daha yüksek olanlara ulaşamaz.=IF(A2>10, "High") formülü, koşul sağlanmadığında YANLIŞ (doğrudan FALSE kelimesini) döndürür. Eğer boş kalmasını istiyorsanız, açıkça "" kullanın.IF("10">5, ...) beklendiği gibi çalışmayabilir. Hücrelerinizde tutarlı veri türleri kullanın.Excel 2019 ve Microsoft 365 ile birlikte sunulan IFS, iç içe IF'lerin okunmasını zorlaştıran kapanış parantezleri piramidini ortadan kaldırır. Sözdizimi şöyledir:
=IFS(logical_test1, value1, logical_test2, value2, ...)
Not formülü bu şekilde çok daha temiz hale gelir:
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", A2>=60, "D", TRUE, "F")
Sondaki TRUE, "F" çifti bir yakalayıcı (varsayılan) görevi görür — eğer önceki hiçbir koşul doğru değilse, bu her zaman doğrudur, bu nedenle "F" sonucunu döndürür. IFS, üç veya daha fazla olası sonucunuz olduğunda ve formülün bir bakışta okunabilir kalmasını istediğinizde idealdir.
SWITCH, bir değeri aralıklar yerine tam eşleşen bir listeye karşı sınadığınızda kullanabileceğiniz en iyi seçenektir:
=SWITCH(A2, "Red", "Stop", "Yellow", "Caution", "Green", "Go", "Unknown")
Yapısı =SWITCH(expression, match1, result1, match2, result2, ..., default) şeklindedir. A2 "Red" içeriyorsa "Stop" döndürür; "Yellow" ise "Caution"; "Green" ise "Go"; geri kalan her şey için "Unknown" sonucunu verir.
SWITCH, belirli metin veya sayı kodlarını etiketlerle eşleştirirken iç içe IF'lerden çok daha okunaklıdır. Bu, departman kodlarının departman adlarıyla eşleştiği İK veri yönetiminde veya hesap kodlarının kategorilerle eşleştiği finansal raporlamada sıkça karşılaşılan bir ihtiyaçtır.
IF, arama ve istatistiksel işlevlerle birleştirildiğinde çok daha güçlü hale gelir. İşte birkaç pratik kalıp:
=IF(ISBLANK(B2), "Missing", B2*1.1)
Başvurulan bir hücre boş olabileceğinde hataları önler — içe aktarılan verilerle çalışırken iyi bir alışkanlıktır. Gelen veri kümelerini düzenli olarak temizliyorsanız, IF'i hata ayıklamayla birlikte kullanmak, Power Query veri dönüştürme iş akışları başlıklı yazımızda kapsanan birçok teknikten yalnızca biridir.
=IFERROR(VLOOKUP(A2, D:E, 2, 0), "Not Found")
Bir VLOOKUP formülünün etrafına IF sarmak yerine, IFERROR aramanın üretebileceği herhangi bir hatayı yakalar ve onu kullanıcı dostu bir mesajla değiştirir. Daha derin arama teknikleri için kapsamlı VLOOKUP kılavuzuna göz atın.
Bazen SUM işleminin içinde IF'e hiç ihtiyacınız olmaz — SUMIF ve SUMIFS, SUM işlevini IF ile sarmaktan çok daha verimli bir şekilde koşullu toplamayı yönetir.
Sıfırdan küçük bir performans değerlendirme sistemi oluşturalım. Elektronik tablonuzun şunlara sahip olduğunu varsayalım:
D sütununun her iki sütuna da dayanarak "Excellent" (Mükemmel), "Good" (İyi), "Needs Improvement" (Gelişime Açık) veya "At Risk" (Riskli) şeklinde bir değerlendirme göstermesini istiyorsunuz.
1. Adım: Kurallarınızı tanımlayın. Excellent = görev ≥ 50 VE kalite ≥ 85. Good = görev ≥ 40 VE kalite ≥ 70. Needs Improvement = görev ≥ 30 VEYA kalite ≥ 60. At Risk = geri kalan her şey.
2. Adım: D2'ye şu formülü yazın:
=IF(AND(B2>=50, C2>=85), "Excellent",
IF(AND(B2>=40, C2>=70), "Good",
IF(OR(B2>=30, C2>=60), "Needs Improvement",
"At Risk")))
3. Adım: D sütunundaki formülü tüm çalışanlar için aşağı doğru kopyalayın.
4. Adım: D sütununa koşullu biçimlendirme uygulayın, böylece her bir derece farklı bir renkte görüntülenir — Excellent için yeşil, Good için sarı, Needs Improvement için turuncu, At Risk için kırmızı. Artık elektronik tablonuz, kimsenin her hücreyi okumasına gerek kalmadan bir bakışta kendini anlatacaktır.
Birden çok AND/OR koşulu barındıran iç içe IF'leri sıfırdan yazmak, özellikle iş kuralları beş veya daha fazla kademe içerdiğinde veya metin ile sayısal koşulları birleştirdiğinde gerçekten zorlaşabilir. İhtiyacınız olanı günlük dilde tarif ederseniz — örneğin, "değer 5.000$'ın üzerindeyse ve müşteri premium kademedeyse siparişleri yüksek öncelikli, iki koşuldan biri doğruysa orta öncelikli, aksi halde düşük öncelikli olarak işaretle" — GPTExcel gibi Yapay Zeka destekli formül araçları doğru formülü anında üretebilir ve sizi parantez sayma ve koşul sırasını düzeltmek için yapılan deneme-yanılma sürecinden kurtarır.
Excel, 64 seviyeye kadar iç içe IF işlevini destekler. Uygulamada, üç veya dört seviyenin ötesindeki herhangi bir formülün okunması ve bakımı zorlaşır. Daha fazla koşul için IFS veya SWITCH işlevlerine geçin ya da VLOOKUP veya INDEX MATCH ile birleştirilmiş bir arama tablosu kullanarak mantığınızı yeniden yapılandırın.
Her ikisi de birden fazla koşulu sınar ve farklı sonuçlar döndürür. Temel fark sözdizimidir: İç içe IF, her seviye için bir kapanış parantezi gerektirir ve derinlemesine iç içe geçmiş bir yapı oluşturur. IFS ise tüm koşul-sonuç çiftlerini düz bir dizide listeler, bu da okumayı, yazmayı ve denetlemeyi kolaylaştırır. IFS; Excel 2019, Excel 2021 ve Microsoft 365 sürümlerinde kullanılabilir.
Evet. Doğru (true) veya yanlış (false) bağımsız değişkenlerinden biri — veya her ikisi de — diğer işlevler dahil olmak üzere geçerli herhangi bir Excel ifadesi olabilir. Örneğin, =IF(A2>0, SQRT(A2), 0) pozitif sayıların karekökünü, geri kalan her şeyin ise sıfırını döndürür. Bu durum IF'i, hesaplamaların ne zaman çalışacağını denetleyen esnek bir kapsayıcı haline getirir.
Üçüncü bağımsız değişkeni tamamen atladığınızda — örneğin =IF(A2>10, "High") yazarak — Excel varsayılan olarak Mantıksal (Boolean) değer olan FALSE'u döndürür. Bunun yerine boş bir hücre döndürmek istiyorsanız, yanlış (false) bağımsız değişkeni olarak açıkça boş bir dize ekleyin: =IF(A2>10, "High", "").
Excel'deki TEXT işlevinin sayıları, tarihleri ve saatleri biçim kodları yardımıyla nasıl biçimlendirilmiş metin dizelerine dönüştürdüğünü gerçek örnekler ve pratik kullanım senaryolarıyla öğrenin.
Excel IF işlevinin nasıl çalıştığını, birden fazla IF'in nasıl iç içe kullanılacağını ve daha temiz, daha okunaklı mantık için IFS ve SWITCH gibi modern alternatiflerin ne zaman kullanılacağını öğrenin.
Excel'de tek veya birden fazla koşula göre veri toplamak için SUMIF ve SUMIFS fonksiyonlarını ustaca kullanın; gerçek söz dizimi, pratik örnekler ve adım adım rehberle öğrenin.