Kurs
Hemen hemen herhangi bir programlama dili öğretilirken karşımıza çıkan ilk konulardan biri koşullardır. Yani, programların mantıksal koşullara göre farklı işlemler gerçekleştirmesine olanak tanıyan klasik IF-ELSEIF-ELSE ifadeleri. Ancak, Excel söz konusu olduğunda bu, ilk akla gelen şey olmayabilir. Yine de, Excel'de de vardır ve belirli bir karmaşıklığa sahip Excel raporları üzerinde çalışırken oldukça önemlidir. Bu eğitimde özellikle, Excel'de IF-ELSE ifadelerinin nasıl yapılandığını ve belirli durumlarda çok kullanışlı olan COUNTIF() gibi daha ileri düzey fonksiyonları ele alacağız.
Temel IF İfadeleri
Başlamak için, Excel'de temel bir IF ifadesinin nasıl yazılacağına genel bir bakışla başlayalım. Sözdizimi şöyledir:
IF(condition, value_if_true, value_if_false)
Burada:
- condition: TRUE veya FALSE olarak değerlendirilen değer ya da mantıksal işlem
- value_if_true: Koşul TRUE olduğunda döndürülecek değer
- value_if_false: Koşul FALSE olduğunda döndürülecek değer
Öyleyse, oyuncak bir tablo kullanarak temel bir koşulun nasıl kullanılacağına dair basit bir örneğe geçelim:
Basit değil mi? R ile aşina olanlarınız muhtemelen bu sözdiziminin özünde ifelse() fonksiyonu ile aynı olduğunu fark etmiştir. Ancak, birkaç farklı nokta vardır. Örneğin, mantıksal operatörler. Bu basit örnekte, büyüktür anlamına gelen standart ">" mantıksal operatörünü kullandım. Bununla birlikte, diğerleri o kadar standart değildir. Buna, "<>" olarak yazılan eşit değildir operatörü de dahildir.
Excel'de kullanılan tüm mantıksal operatörlerin tam bir dökümünü aşağıda görebilirsiniz:
| Karşılaştırma Operatörü | Ne anlama gelir? | Basit Örnek |
|---|---|---|
| = | eşittir | A1 = B1 |
| > | büyüktür | A1 > B1 |
| >= | büyük veya eşittir | A1 >= B1 |
| < | küçüktür | A1 < B1 |
| <= | küçük veya eşittir | A1 <= B1 |
| <> | eşit değildir | A1 <> B1 |
OR(), AND() ve NOT()
Karşılaştırma operatörleri, Excel koşullu ifadelerinin Python, R veya Matlab'de kullanabileceklerinizden farklı olabilecek tek bileşenleri değildir. Aslında, OR, AND ve NOT gibi boolean işlemlerinin tanımlanma şekli farklıdır. Örneğin, Excel'de bir OR ifadesini şu şekilde yazarsınız:
IF(OR(value_1 = k, value_2 = y), value_if_true, value_if_false)
Tüm boolean operatörlerini Excel içinde çalışırken görmek için aşağıdaki örneğe bakın:
İç İçe IF İfadeleri
Python, R veya Matlab'de IF-ELSEIF-ELSE ifadelerini iç içe yazabildiğiniz gibi, Excel'de de bunu yapabilirsiniz. Bunu yapmak için, bir IF ifadesi TRUE veya FALSE olarak değerlendirildiğinde, onun içine başka bir IF ifadesi eklemek kadar basittir. Bu, daha fazla koşulu test etmenize ve bu koşullara göre daha fazla sonuç döndürmenize olanak tanır. Excel, en fazla 64 adet IF ifadesini iç içe kullanabilir. Ancak, çok fazla IF ifadesini iç içe kullanmamanızı şiddetle tavsiye ederim; çünkü mantığa dikkat etmeniz gerekir ve ileride hata ayıklamak veya değiştirmek çok zahmetli hale gelebilir.
Öyleyse, Excel içinde iç içe IF'lerin basit bir kullanım örneği:
COUNTIF() ve COUNTIFS()
Geleneksel IF ifadelerinin yanı sıra, Excel verilen bir koşul kümesine göre işlemler yapabilen başka fonksiyonlara da sahiptir. Bu bölümde, koşullu sayma fonksiyonlarına ve özel olarak COUNTIF() ve COUNTIFS() fonksiyonlarına odaklanacağım.
COUNTIF(), kullanıcının tek bir ölçütü karşılayan hücreleri saymasına olanak tanır. Sözdizimi şöyledir:
COUNTIF(cell_range_to_count, criteria)
Burada:
- cell_range_to_count: Saymak istediğiniz belirli hücre aralığı
- criteria: Hangi hücrelerin sayılacağını belirleyen ölçüt. Bunlar çok çeşitli olabilir, örneğin:
- COUNTIF(A1:A10, 10) - A1'den A10'a kadar olan aralıkta 10'a eşit kaç hücre olduğunu sayar
- COUNTIF(A1:A10, B5) - A1'den A10'a kadar olan aralıkta B5 hücresindeki değere eşit kaç hücre olduğunu sayar
- COUNTIF(A1:A10, "Gandalf") - A1'den A10'a kadar olan aralıkta "Gandalf"a eşit kaç hücre olduğunu sayar
- COUNTIF(A1:A10, ">20") - A1'den A10'a kadar olan aralıkta 20'den büyük kaç hücre olduğunu sayar
- COUNTIF(A1:A10, "<>Gandalf") - A1'den A10'a kadar olan aralıkta "Gandalf"a eşit olmayan kaç hücre olduğunu sayar
Tahmin edeceğiniz üzere COUNTIFS, COUNTIF'ten, birden fazla ölçütü karşılayan hücreleri saymanıza olanak tanımasıyla ayrılır. Sözdizimi şöyledir:
COUNTIFS(cell_range_to_count_1, criteria_1, cell_range_to_count_2, criteria_2,...cell_range_to_count_n, criteria_n)
COUNTIFS'te belirttiğiniz her ek aralık için, orijinal aralıkla (cell_range_to_count_1) aynı sayıda satır ve sütuna sahip olmanız gerektiğini, aksi halde hata alacağınızı unutmamak önemlidir.
Bu iki fonksiyon, iş raporlarında kullanmak için harikadır. Benim için en iyi örneklerden biri, satış temsilcilerimizin her ay yaptıkları randevu sayısını ve satış hunimizin neresinde olduklarını saymayı ne kadar kolaylaştırdıklarıdır.
Aşağıdaki videolarda, bu iki fonksiyonun nasıl çalıştığını göstereceğim. Önce, kurgusal bir dizi satış temsilcisinin toplam randevularını saymakla başlayalım:
Ne kadar kolaydı, değil mi? Az önce hayali satış temsilcilerimizin her birinin toplamda kaç randevusu olduğunu saydınız. Teorik olarak, bunu sadece temel IF ifadelerini kullanarak da yapabilirdiniz, ancak aynı sonucu elde etmek için çok daha fazla emek gerektirirdi.
Şimdi, bu satış temsilcilerinin her birinin her ay yaptığı randevuları da saymak istediğinizi varsayalım. Bu durumda, COUNTIFS() cevaptır; bunu aşağıdaki videoda uygulamalı olarak görebilirsiniz:
Not: Son videoda saymak istediğim aralığı $ işaretleriyle kapladığımı fark etmiş olabilirsiniz. Bu, formülü aşağı doğru sürüklediğimde değişmesini engellemek ve sabitlemek için yapılır.
Voilá, hayali satış temsilcilerimizin randevularını ay bazında zorlanmadan saydık. SUMIFS() fonksiyonlarını Ocak ve Şubat için yazarken daha fazla görünürlük sağlamak amacıyla daha açık yazmayı tercih ettim, ancak $ işaretleriyle belirli hücreleri ve aralıkları sabitleyerek bunu daha "verimli" bir şekilde de yapabileceğinizi belirtmekte fayda var (örneğin, formülü F2'ye yazıp geri kalanına sürükleyebilirdim). Merak ediyorsanız, aynı sonuçları alırken formülü kalan hücrelere sürükleyebilmeniz için F2'deki COUNTIFS() formülünü yeniden yazmayı denemenizi öneririm. Bu, Excel iş raporlarınız büyüdüğünde formülleri sürüklemek için aralıkları ve hücreleri sabitlemekle oynamanın oldukça kullanışlı olması nedeniyle faydalı bir egzersiz olabilir. Bu eğitimde kullanılan veri tablosu burada.
SUMIF() ve SUMIFS()
COUNTIF() ve COUNTIFS() ile tek veya birden fazla ölçütü karşılayan hücreleri nasıl sayabileceğinizi gördük, peki sadece saymak yerine hücreleri toplamanız gerekirse? İşte burada SUMIF() ve SUMIFS() devreye girer. Bu fonksiyonlar, örneğin belirli bir satış temsilcisinin toplamda veya belirli bir ayda elde ettiği geliri toplamanız gerektiğinde özellikle faydalıdır. Her iki fonksiyonun sözdizimi şöyledir:
SUMIF(criteria_range, criteria, (optional) sum_range)
SUMIFS(sum_range, criteria_range_1, criteria_1, criterion_range_2, criteria_2...criteria_range_n, criteria_n)
Burada:
- criteria_range: Ölçütün kontrol edileceği hücre aralığı.
- criteria: Hangi hücrelerin birlikte toplanacağını belirleyen koşullu ölçüt.
- sum_range: Birlikte toplanacak hücreler. COUNTIF() içinde sağlanmazsa, criteria_range içindeki hücreler birlikte toplanır.
Şimdi, hiç vakit kaybetmeden, sahte satış temsilcilerimizin ürettiği toplam geliri ve ay bazında geliri hesaplamak için hem SUMIF() hem de SUMIFS() kullanan bir örneğe geçelim:
Dikkate değer bir nokta şudur: SUMIFS() söz konusu olduğunda, sum_range zorunlu bir argümandır ve ilk argümandır; ancak SUMIF()'te isteğe bağlıdır ve son argümandır. Bu, her iki formülü de kullanırken karışıklığa neden olabilir; Şubat için SUMIFS fonksiyonunu yazarken de görebileceğiniz gibi. Bu nedenle, her iki formülle çalışırken dikkatli olmanızı tavsiye ederim. Doğru hücre aralıklarını topladığınızdan daima emin olun.
IFERROR()
Programlama/betik dillerine aşina olanlarınız, hata yakalama için try/catch blokları olduğunu bilir. Excel'de, tam olarak bunu yapmak için IFERROR() fonksiyonuna sahibiz. IFERROR fonksiyonu, #N/A, #VALUE! veya #REF! gibi hataları "yakalamanıza" ve daha anlamlı bir çıktı sağlamanıza olanak tanır. IRERROR fonksiyonunun sözdizimi şöyledir:
IFERROR(value, value_if_error)
Burada:
- value: Hata açısından kontrol edilecek değer veya formül
- value_if_error: Fonksiyon bir hatayla karşılaştığında üretilecek değer.
Nasıl çalıştığını aşağıdaki videoda görelim:
İş satış raporlarıyla çalışırken, belirli hesaplamaları IFERROR fonksiyonlarıyla sarmak genellikle iyi bir uygulamadır. Bazen, yeni satış temsilcilerinin çok az randevusu, nitelikli fırsatı veya kapanan anlaşması olabilir; bu da, örneğin belirli bir satış temsilcisi için randevuların yüzde kaçının nitelikli fırsatlara dönüştüğünü hesaplarken 0'a bölmelere yol açabilir. Bu durum, muhtemelen raporunuzu kirli ve karar vericiler için daha zor okunur gösterecek çirkin hatalar üretebilir. Ancak, bu hesaplamaları IFERROR() ifadeleriyle kaplarsanız, bu hataları bir tire gibi göze daha hoş görünen bir şeyle değiştirebilir ve raporunuzu daha sunulabilir hale getirebilirsiniz. Dahası, IFERROR() ifadeleri sadece daha hoş hata mesajları üretmenin ötesine geçebilir. Bu ifadeleri, zincirleme VLOOKUP işlemleri gibi şeyleri gerçekleştirmek için de iç içe kullanabilirsiniz.
Sonuç
Tebrikler! Excel'de koşullardan nasıl yararlanabileceğinize dair birkaç yöntemin artık farkındasınız. Bu eğitimde, Excel iş raporlarını tamamlamakla görevlendirildiğimde sıkça kullandığımı gördüğüm fonksiyonları ele almaya çalıştım. Ancak, konuyla ilgili daha fazla öğrenmeye hevesliyseniz, burada bahsetmediğim ve ilginizi çekebilecek SWITCH(), AVERAGEIF() veya AVERAGEIFS() gibi başka fonksiyonlar da var.
Ayrıca, COUNTIFS() gibi fonksiyonlarda joker karakterler kullanmak gibi, kısmi metin eşleşmelerini saymanın tamamen geçerli yolları da vardır. Örneğin, bir restoranın menü öğelerinin listesi olan bir Excel dosyanız olduğunu ve bunların kaç tanesinin "balık" kelimesinden bahsettiğini saymak istediğinizi varsayalım. Bu durumda, COUNTIF(cell_range,"*fish") yazabilir ve bu fonksiyon kılıçbalığı (swordfish) veya dolphinfish gibi öğeleri sayar. Joker karakterler hakkında daha fazla bilgi edinmenizi şiddetle tavsiye ederim; oldukça kullanışlı olabilirler ve bir sonraki Excel projenizde ne zaman işinize yarayacaklarını asla bilemezsiniz.
Son olarak, burada DataCamp'teki Elektronik Tablolarla Veri Analizi kursuna da göz atmak isteyebilirsiniz; çünkü koşullu fonksiyonlara ayrılmış bir bölümü vardır ve size ek referans sağlayabilir.
Python'da if…elif…else Eğitimimize göz atın.
