Excel İç İçe EĞER deyimleri - örnekler, en iyi uygulamalar ve alternatifler

  • Bunu Paylaş
Michael Brown

Bu eğitimde, birden fazla koşulu kontrol etmek için Excel'de iç içe IF işlevinin nasıl kullanılacağı açıklanmaktadır. Ayrıca, Excel'de iç içe formül kullanmaya iyi bir alternatif olabilecek birkaç başka işlevi de öğreneceksiniz.

Excel çalışma sayfalarınızda genellikle bir karar verme mantığını nasıl uygularsınız? Çoğu durumda, koşulunuzu test etmek ve koşul karşılanırsa bir değer, karşılanmazsa başka bir değer döndürmek için bir EĞER formülü kullanırsınız. Birden fazla koşulu değerlendirmek ve sonuçlara bağlı olarak farklı değerler döndürmek için, birden fazla EĞER'i birbirinin içine yerleştirirsiniz.

Çok popüler olmasına rağmen, iç içe IF deyimi Excel'de birden fazla koşulu kontrol etmenin tek yolu değildir. Bu eğitimde, kesinlikle keşfetmeye değer bir avuç alternatif bulacaksınız.

    Excel iç içe IF deyimi

    İşte genel bir formda klasik Excel iç içe EĞER formülü:

    EĞER( koşul1 , sonuç1 , EĞER( koşul2 , sonuç2 , EĞER( koşul3 , sonuç3 , sonuç4 )))

    Birbirini takip eden her bir IF fonksiyonunun value_if_false Her EĞER işlevi kendi parantez kümesi içine alınır, ancak tüm kapanış parantezleri formülün sonundadır.

    Genel iç içe EĞER formülümüz 3 koşulu değerlendirir ve 4 farklı sonuç döndürür (koşullardan hiçbiri DOĞRU değilse sonuç 4 döndürülür). İnsan diline çevrildiğinde, bu iç içe EĞER deyimi Excel'e aşağıdakileri yapmasını söyler:

    Test koşul1 , eğer TRUE ise - return sonuç1 , eğer FALSE -

    test koşul2 , TRUE ise - r değerini döndürür esult2 , eğer FALSE -

    test koşul3 , eğer TRUE ise - return sonuç3 , eğer FALSE -

    dönüş sonuç4

    Örnek olarak, yaptıkları satış miktarına göre bir dizi satıcının komisyonlarını bulalım:

    Komisyon Satış
    3% $1 - $50
    5% $51 - $100
    7% $101 - $150
    10% 150 doların üzerinde

    Matematikte, toplama işlemlerinin sırasını değiştirmek toplamı değiştirmez. Excel'de, EĞER işlevlerinin sırasını değiştirmek sonucu değiştirir. Neden mi? Çünkü iç içe geçmiş bir EĞER formülü, aşağıdakilere karşılık gelen bir değer döndürür ilk DOĞRU koşul Bu nedenle, iç içe IF ifadelerinizde, formülünüzün mantığına bağlı olarak koşulları doğru yönde - yüksekten düşüğe veya düşükten yükseğe - düzenlemek çok önemlidir. Bizim durumumuzda, önce "en yüksek" koşulu, ardından "ikinci en yüksek" koşulu kontrol ediyoruz ve bu şekilde devam ediyoruz:

    =IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))

    Koşulları ters sırada, aşağıdan yukarıya doğru yerleştirseydik, sonuçlar tamamen yanlış olurdu çünkü formülümüz 1'den büyük herhangi bir değer için ilk mantıksal testten (B2>=1) sonra dururdu. Diyelim ki 100 $ satışımız var - bu 1'den büyük, bu nedenle formül diğer koşulları kontrol etmez ve sonuç olarak %3 döndürür.

    Koşulları düşükten yükseğe doğru sıralamayı tercih ediyorsanız, "less than" operatörünü kullanın ve önce "en düşük" koşulu, ardından "ikinci en düşük" koşulu değerlendirin ve bu şekilde devam edin:

    =IF($B2<1, 0%, IF($B2<51, 3%, IF($B2<101, 5%, IF($B2<=150, 7%, 10%))))

    Gördüğünüz gibi, iç içe geçmiş bir EĞER ifadesinin mantığını sonuna kadar doğru bir şekilde oluşturmak oldukça fazla düşünce gerektirir. Ve Microsoft Excel bir formülde 64 EĞER işlevinin iç içe geçmesine izin verse de, bu çalışma sayfalarınızda gerçekten yapmak isteyeceğiniz bir şey değildir. Bu nedenle, siz (veya başka biri) Excel iç içe geçmiş EĞER formülünüze bakıp gerçekte ne işe yaradığını anlamaya çalışıyorsanız, şunları yapmanın zamanı gelmiştirstratejinizi yeniden gözden geçirin ve muhtemelen cephaneliğinizde başka bir araç seçin.

    Daha fazla bilgi için lütfen Excel iç içe IF deyimine bakın.

    OR/AND koşulları ile iç içe IF

    Birkaç farklı koşul kümesini değerlendirmeniz gerekiyorsa, bu koşulları VE işlevinin yanı sıra VEYA işlevini kullanarak ifade edebilir, işlevleri EĞER deyimlerinin içine yerleştirebilir ve ardından EĞER deyimlerini birbirinin içine yerleştirebilirsiniz.

    Excel'de VEYA ifadeleri ile iç içe EĞER

    OR fonksiyonunu kullanarak, her bir IF fonksiyonunun mantıksal testinde iki veya daha fazla farklı koşulu kontrol edebilir ve OR argümanlarından herhangi biri (en az biri) TRUE olarak değerlendirilirse TRUE değerini döndürebilirsiniz. Gerçekte nasıl çalıştığını görmek için lütfen aşağıdaki örneği göz önünde bulundurun.

    Diyelim ki iki satış sütununuz var, örneğin B sütununda Ocak satışları ve C sütununda Şubat satışları. Her iki sütundaki sayıları kontrol etmek ve daha yüksek bir sayıya göre komisyonu hesaplamak istiyorsunuz. Başka bir deyişle, aşağıdaki mantıkla bir formül oluşturursunuz: Ocak veya Şubat satışlarından herhangi biri 150 $ 'dan fazlaysa, satıcı% 10 komisyon alır, Ocak veya Şubat satışları aşağıdakilerden büyük veya eşitse101 $, satıcı %7 komisyon alır ve bu böyle devam eder.

    Bunu yapmak için, OR(B2>150, C2>150) gibi birkaç OF ifadesi yazın ve bunları yukarıda tartışılan IF işlevlerinin mantıksal testlerine yerleştirin. Sonuç olarak, bu formülü elde edersiniz:

    =IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))

    Ve komisyonun daha yüksek satış tutarına göre atanmasını sağlayın:

    Daha fazla formül örneği için lütfen Excel EĞER VEYA deyimine bakın.

    Excel'de AND ifadeleri ile iç içe EĞER

    Mantıksal testleriniz birden fazla koşul içeriyorsa ve bu koşulların tümünün DOĞRU olarak değerlendirilmesi gerekiyorsa, bunları AND işlevini kullanarak ifade edin.

    Örneğin, komisyonları daha düşük bir satış sayısına göre atamak için yukarıdaki formülü alın ve OR yerine AND ifadelerini koyun. Başka bir deyişle, Excel'e yalnızca Ocak ve Şubat satışları 150 $'dan fazlaysa %10, Ocak ve Şubat satışları 101 $'dan büyük veya eşitse %7 ve bu şekilde devam etmesini söylersiniz.

    =IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))

    Sonuç olarak, iç içe geçmiş EĞER formülümüz komisyonu B ve C sütunlarındaki daha düşük sayıya göre hesaplar. Sütunlardan biri boşsa, VE koşullarından hiçbiri karşılanmadığı için hiç komisyon yoktur:

    Boş hücreler yerine %0 döndürmek istiyorsanız, son bağımsız değişkendeki boş dizeyi (''") %0 ile değiştirin:

    =IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))

    Daha fazla bilgiyi burada bulabilirsiniz: Birden çok VE/VEYA koşulu içeren Excel EĞER.

    Excel'de iç içe EĞER yerine DÜŞEYARA

    "Ölçeklerle", yani birlikte tüm aralığı kapsayan sürekli sayısal değer aralıklarıyla uğraşırken, çoğu durumda iç içe EĞER'ler yerine DÜŞEYARA işlevini kullanabilirsiniz.

    Yeni başlayanlar için, aşağıdaki ekran görüntüsünde gösterildiği gibi bir referans tablosu oluşturun. Ardından, aşağıdakilerle bir Vlookup formülü oluşturun yaklaşık eşleşme yani range_lookup argümanı TRUE olarak ayarlanmıştır.

    Arama değerinin B2'de olduğunu ve referans tablosunun F2:G5 olduğunu varsayarsak, formül aşağıdaki gibi olur:

    =VLOOKUP(B2,$F$2:$G$5,2,TRUE)

    Lütfen düzelttiğimize dikkat edin table_array formülün diğer hücrelere doğru şekilde kopyalanması için mutlak referanslarla ($F$2:$G$5):

    Vlookup formülünüzün son bağımsız değişkenini DOĞRU olarak ayarlayarak, Excel'e aşağıdakileri aramasını söylersiniz en yakın eşleşme - tam bir eşleşme bulunamazsa, arama değerinden küçük olan bir sonraki en büyük değeri döndürür. Sonuç olarak, formülünüz yalnızca arama tablosundaki tam değerlerle değil, aynı zamanda arada kalan tüm değerlerle de eşleşir.

    Örneğin, B3'teki arama değeri $95. Bu sayı arama tablosunda mevcut değildir ve tam eşleşmeli Vlookup bu durumda #N/A hatası döndürür. Ancak yaklaşık eşleşmeli Vlookup, arama değerinden daha küçük olan en yakın değeri bulana kadar (örneğimizde $50) aramaya devam eder ve aynı satırdaki ikinci sütundan bir değer döndürür (%5).

    Ancak, arama değeri arama tablosundaki en küçük sayıdan daha küçükse veya arama hücresi boşsa ne olur? Bu durumda, bir Vlookup formülü #N/A hatasını döndürür. Aslında istediğiniz bu değilse, DÜŞEYARA'yı EĞERHATA'nın içine yerleştirin ve arama değeri bulunamadığında çıktı alınacak değeri sağlayın. Örneğin:

    =IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Aralık dışında")

    Önemli not! Yaklaşık eşleşmeli bir Vlookup formülünün düzgün çalışması için, arama tablosundaki ilk sütun şu şekilde sıralanmalıdır artan sıra en küçükten en büyüğe doğru.

    Daha fazla bilgi için lütfen Tam eşleşen DÜŞEYARA ile yaklaşık eşleşen DÜŞEYARA bölümüne bakın.

    İç içe IF işlevine alternatif olarak IFS deyimi

    Excel 2016 ve sonraki sürümlerinde Microsoft, birden çok koşulu değerlendirmek için özel bir işlev olan IFS işlevini kullanıma sunmuştur.

    Bir IFS formülü 127 adede kadar işleyebilir mantıksal_test / value_if_true çiftleri ve TRUE olarak değerlendirilen ilk mantıksal test "kazanır":

    IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]...)

    Yukarıdaki sözdizimine uygun olarak, iç içe IF formülümüz bu şekilde yeniden yapılandırılabilir:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)

    Lütfen IFS fonksiyonunun belirtilen koşullardan hiçbiri karşılanmadığında #N/A hatası döndürdüğüne dikkat edin. Bunu önlemek için bir tane daha ekleyebilirsiniz mantıksal_test / value_if_true formülünüzün sonuna 0 veya boş dize ("") ya da önceki mantıksal testlerden hiçbiri DOĞRU değilse istediğiniz değeri döndürür:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")

    Sonuç olarak, B sütununda karşılık gelen bir hücre boşsa veya metin ya da negatif sayı içeriyorsa formülümüz #N/A hatası yerine boş bir dize (boş hücre) döndürür.

    Not: İç içe EĞER gibi, Excel'in IFS işlevi de DOĞRU olarak değerlendirilen ilk koşula karşılık gelen bir değer döndürür; bu nedenle bir IFS formülündeki mantıksal testlerin sırası önemlidir.

    Daha fazla bilgi için lütfen İç içe IF yerine Excel IFS işlevi bölümüne bakın.

    Excel'de iç içe IF formülü yerine CHOOSE

    Excel'de tek bir formül içinde birden fazla koşulu test etmenin bir başka yolu da, bu değerin konumuna göre listeden bir değer döndürmek üzere tasarlanmış olan CHOOSE işlevini kullanmaktır.

    Örnek veri kümemize uygulandığında formül aşağıdaki şekli alır:

    =CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), %3, %5, %7, %10)

    İlk argümanda ( index_num ), tüm koşulları değerlendirir ve sonuçları toplarsınız. TRUE'nin 1'e ve FALSE'nin 0'a eşit olduğu göz önüne alındığında, bu şekilde döndürülecek değerin konumunu hesaplarsınız.

    Örneğin, B2'deki değer 150$ olsun. Bu değer için ilk 3 koşul DOĞRU ve sonuncusu (B2> 150) YANLIŞ olur, index_num 3'e eşittir, yani %7 olan 3. değer döndürülür.

    İpucu. Mantıksal testlerden hiçbiri DOĞRU değilse, index_num 0'a eşittir ve formül #VALUE! hatasını döndürür. Kolay bir düzeltme, CHOOSE öğesini IFERROR işlevine şu şekilde sarmaktır:

    =IFERROR(CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), %3, %5, %7, %10), "")

    Daha fazla bilgi için lütfen formül örnekleriyle birlikte Excel CHOOSE işlevine bakın.

    Excel'de iç içe geçmiş EĞER'in kısa bir biçimi olarak SWITCH işlevi

    Ölçeklerle değil, önceden tanımlanmış sabit bir değerler kümesiyle uğraştığınız durumlarda, SWITCH işlevi karmaşık iç içe IF deyimlerine kompakt bir alternatif olabilir:

    SWITCH(ifade, değer1, sonuç1, değer2, sonuç2, ..., [varsayılan])

    SWITCH işlevi şunları değerlendirir ifade bir listeye karşı değerler ve döndürür Sonuç bulunan ilk eşleşmeye karşılık gelir.

    Komisyonu satış tutarları yerine aşağıdaki notlara göre hesaplamak isterseniz, Excel'de iç içe geçmiş EĞER formülünün bu kompakt versiyonunu kullanabilirsiniz:

    =SWITCH(C2, "A", %10, "B", %7, "C", %5, "D", %3, "")

    Ya da aşağıdaki ekran görüntüsünde gösterildiği gibi bir referans tablosu oluşturabilir ve sabit kodlanmış değerler yerine hücre referanslarını kullanabilirsiniz:

    =SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")

    Formülü diğer hücrelere kopyalarken değişmelerini önlemek için ilki hariç tüm referansları $ işaretiyle kilitlediğimize lütfen dikkat edin:

    Not: SWITCH işlevi yalnızca Excel 2016 ve sonraki sürümlerde kullanılabilir.

    Daha fazla bilgi için lütfen SWITCH işlevi - iç içe IF deyiminin kompakt biçimi bölümüne bakın.

    Excel'de birden çok EĞER işlevini birleştirme

    Önceki örnekte belirtildiği gibi, SWITCH işlevi yalnızca Excel 2016'da tanıtılmıştır. Eski Excel sürümlerinde benzer görevleri yerine getirmek için, Birleştirme operatörünü (&) veya CONCATENATE işlevini kullanarak iki veya daha fazla EĞER ifadesini birleştirebilirsiniz.

    Örneğin:

    =(IF(C2="a", %10, "") & IF(C2="b", %7, "") & IF(C2="c", %5, "") & IF(C2="d", %3, ""))*1

    Ya da

    =CONCATENATE(IF(C2="a", %10, ""), IF(C2="b", %7, ""), IF(C2="c", %5, "") & IF(C2="d", %3, ""))*1

    Fark etmiş olabileceğiniz gibi, her iki formülde de sonucu 1 ile çarpıyoruz. Concatenate formülü tarafından döndürülen bir dizeyi sayıya dönüştürmek için yapılır. Beklenen çıktınız metin ise, çarpma işlemine gerek yoktur.

    Daha fazla bilgi için lütfen Excel'de CONCATENATE işlevine bakın.

    Microsoft Excel'in iç içe geçmiş EĞER formüllerine birkaç iyi alternatif sunduğunu görebilirsiniz ve umarım bu eğitim size çalışma sayfalarınızda bunlardan nasıl yararlanabileceğiniz konusunda bazı ipuçları vermiştir. Bu eğitimde ele alınan örneklere daha yakından bakmak için aşağıdaki örnek çalışma kitabımızı indirebilirsiniz. Okuduğunuz için teşekkür ediyor ve gelecek hafta blogumuzda görüşmeyi umuyorum!

    İndirmek için pratik çalışma kitabı

    Excel iç içe If deyimi - örnekler (.xlsx dosyası)

    Michael Brown, yazılım araçlarını kullanarak karmaşık süreçleri basitleştirme tutkusuna sahip, kendini adamış bir teknoloji meraklısıdır. Teknoloji endüstrisinde on yılı aşkın deneyimiyle Microsoft Excel ve Outlook'un yanı sıra Google E-Tablolar ve Dokümanlar'daki becerilerini geliştirdi. Michael'ın blogu, bilgisini ve uzmanlığını başkalarıyla paylaşmaya, üretkenliği ve verimliliği artırmaya yönelik takip etmesi kolay ipuçları ve eğitimler sağlamaya adamıştır. İster deneyimli bir profesyonel, ister yeni başlayan olun, Michael'ın blogu, bu temel yazılım araçlarından en iyi şekilde yararlanmak için değerli bilgiler ve pratik tavsiyeler sunar.