Koşullarla en büyük değeri bulmak için Excel MAX EĞER formülü

  • Bunu Paylaş
Michael Brown

Makalede, belirttiğiniz bir veya birkaç koşula bağlı olarak Excel'de maksimum değeri elde etmenin birkaç farklı yolu gösterilmektedir.

Önceki eğitimimizde, bir veri kümesindeki en büyük sayıyı döndürmek için tasarlanmış olan MAX fonksiyonunun yaygın kullanımlarını inceledik. Ancak bazı durumlarda, belirli kriterlere göre maksimum değeri bulmak için verilerinizi daha da derinlemesine incelemeniz gerekebilir. Bu, birkaç farklı formül kullanılarak yapılabilir ve bu makale olası tüm yolları açıklamaktadır.

    Excel MAX EĞER formülü

    Yakın zamana kadar, Microsoft Excel'in koşullara dayalı olarak maksimum değeri elde etmek için yerleşik bir MAX IF işlevi yoktu. Excel 2019'da MAXIFS'in tanıtılmasıyla, koşullu max işlemini kolay bir şekilde yapabiliriz.

    Excel 2016 ve önceki sürümlerde, hala kendi dizi formülü MAX işlevini bir IF deyimiyle birleştirerek:

    {=MAX(EĞER( criteria_range = kriterler , max_range ))}

    Bu genel MAX IF formülünün gerçek veriler üzerinde nasıl çalıştığını görmek için lütfen aşağıdaki örneği göz önünde bulundurun. Birkaç öğrencinin uzun atlama sonuçlarını içeren bir tablonuz olduğunu varsayalım. Tablo üç tur için verileri içeriyor ve belirli bir sporcunun, örneğin Jacob'ın en iyi sonucunu arıyorsunuz. A2:A10'daki öğrenci adları ve C2:C10'daki mesafeler ile formül şu şekli alır:

    =MAX(IF(A2:A10="Jacob", C2:C10))

    Bir dizi formülünün her zaman Ctrl + Shift + Enter tuşlarına aynı anda basılarak girilmesi gerektiğini lütfen unutmayın. Sonuç olarak, aşağıdaki ekran görüntüsünde gösterildiği gibi otomatik olarak küme parantezleriyle çevrelenir (parantezleri manuel olarak yazmak işe yaramaz!).

    Gerçek hayattaki çalışma sayfalarında, formülü değiştirmeden koşulu kolayca değiştirebilmeniz için ölçütü bir hücreye girmek daha uygundur. Bu nedenle, F1'e istenen adı yazıyoruz ve aşağıdaki sonucu alıyoruz:

    =MAX(IF(A2:A10=F1, C2:C10))

    Bu formül nasıl çalışır?

    IF fonksiyonunun mantıksal testinde, isim listesini (A2:A10) hedef isimle (F1) karşılaştırırız. Bu işlemin sonucu, TRUE ve FALSE değerlerinden oluşan bir dizidir; burada TRUE değerleri hedef isimle (Jacob) eşleşen isimleri temsil eder:

    {YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU;DOĞRU;YANLIŞ;YANLIŞ;YANLIŞ}

    için value_ if_true argümanında uzun atlama sonuçlarını (C2:C10) sağlarız, böylece mantıksal test TRUE olarak değerlendirilirse, C sütunundan karşılık gelen sayı döndürülür. value_ if_false argümanı atlanırsa, koşulun karşılanmadığı durumlarda anlam sadece FALSE değerine sahip olacaktır:

    {YANLIŞ;YANLIŞ;YANLIŞ;5.48;5.42;5.57;YANLIŞ;YANLIŞ;YANLIŞ}

    Bu dizi, FALSE değerlerini göz ardı ederek maksimum sayıyı döndüren MAX işlevine beslenir.

    İpucu: Yukarıda tartışılan dahili dizileri görmek için, çalışma sayfanızdaki formülün ilgili bölümünü seçin ve F9 tuşuna basın. Formül değerlendirme modundan çıkmak için Esc tuşuna basın.

    Birden çok ölçüt içeren MAX EĞER formülü

    Birden fazla koşula bağlı olarak maksimum değeri bulmanız gereken durumlarda, aşağıdakilerden birini yapabilirsiniz:

    Ek kriterler eklemek için iç içe IF deyimleri kullanın:

    {=MAX(EĞER( criteria_range1 = KRİTERLER1 , EĞER( criteria_range2 = kriterler2 , max_range )))}

    Veya çarpma işlemini kullanarak birden fazla kriteri ele alın:

    {=MAX(IF(( criteria_range1 = KRİTERLER1 ) * ( criteria_range2 = kriterler2 ), max_range ))}

    Diyelim ki erkek ve kızların sonuçlarını tek bir tabloda topladınız ve 3. turda kızlar arasında en uzun atlayışı bulmak istiyorsunuz. Bunu yapmak için G1'e ilk kriteri (kız), G2'ye ikinci kriteri (3) giriyoruz ve maksimum değeri hesaplamak için aşağıdaki formülleri kullanıyoruz:

    =MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16))

    =MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))

    Her ikisi de dizi formülü olduğundan, doğru şekilde tamamlamak için lütfen Ctrl + Shift + Enter tuşlarına basmayı unutmayın.

    Aşağıdaki ekran görüntüsünde gösterildiği gibi, formüller aynı sonucu üretir, bu nedenle hangisini kullanacağınız kişisel tercihinize bağlıdır. Benim için Boole mantığına sahip formülün okunması ve oluşturulması daha kolaydır - ek IF işlevlerini iç içe geçirmeden istediğiniz kadar koşul eklemenize olanak tanır.

    Bu formüller nasıl çalışır?

    İlk formül, iki ölçütü değerlendirmek için iç içe geçmiş iki EĞER işlevi kullanır. İlk EĞER deyiminin mantıksal testinde, Cinsiyet sütunundaki (B2:B16) değerleri G1'deki ("Kadın") ölçütle karşılaştırırız. Sonuç, DOĞRU ve YANLIŞ değerlerinden oluşan bir dizidir; DOĞRU, ölçütle eşleşen verileri temsil eder:

    {YANLIŞ; YANLIŞ; YANLIŞ; DOĞRU; DOĞRU; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; DOĞRU; DOĞRU; DOĞRU}

    Benzer bir şekilde, ikinci EĞER işlevi Yuvarlak sütunundaki (C2:C16) değerleri G2'deki kritere göre kontrol eder.

    için value_if_true argümanını ikinci IF deyiminde kullanarak uzun atlama sonuçlarını (D2:D16) sağlarız ve bu şekilde ilk iki dizide karşılık gelen konumlarda TRUE olan öğeleri elde ederiz (yani, cinsiyetin "kadın" ve turun 3 olduğu öğeler):

    {YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; 4.63; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; 4.52}

    Bu son dizi MAX fonksiyonuna gider ve en büyük sayıyı döndürür.

    İkinci formül aynı koşulları tek bir mantıksal test içinde değerlendirir ve çarpma işlemi AND operatörü gibi çalışır:

    DOĞRU ve YANLIŞ değerleri herhangi bir aritmetik işlemde kullanıldığında, sırasıyla 1'lere ve 0'lara dönüştürülür. 0 ile çarpmak her zaman sıfır verdiğinden, ortaya çıkan dizi yalnızca tüm koşullar DOĞRU olduğunda 1'e sahiptir. Bu dizi, 1 (DOĞRU) öğelere karşılık gelen mesafeleri döndüren IF işlevinin mantıksal testinde değerlendirilir.

    Dizi olmadan MAX IF

    Ben de dahil olmak üzere birçok Excel kullanıcısı dizi formüllerine karşı önyargılıdır ve mümkün olan her yerde bunlardan kurtulmaya çalışır. Neyse ki, Microsoft Excel'in dizileri yerel olarak işleyen birkaç işlevi vardır ve bu işlevlerden birini, yani SUMPRODUCT'u MAX'in etrafında bir tür "sarmalayıcı" olarak kullanabiliriz.

    Dizisiz genel MAX IF formülü aşağıdaki gibidir:

    =SUMPRODUCT(MAX(( criteria_range1 = KRİTERLER1 ) * ( criteria_range2 = kriterler2 ) * max_range ))

    Doğal olarak, gerekirse daha fazla aralık/kriter çifti ekleyebilirsiniz.

    Formülü iş başında görmek için, önceki örnekteki verileri kullanacağız. Amaç, 3. turda bir kadın sporcunun maksimum atlayışını elde etmektir:

    =SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))

    Bu formül normal bir Enter tuşu ile yarışır ve dizi MAX IF formülü ile aynı sonucu döndürür:

    Yukarıdaki ekran görüntüsüne daha yakından baktığınızda, önceki örneklerde "x" ile işaretlenen geçersiz atlamaların artık 3, 11 ve 15. satırlarda 0 değerine sahip olduğunu fark edebilirsiniz ve bir sonraki bölümde bunun nedeni açıklanmaktadır.

    Bu formül nasıl çalışır?

    MAX IF formülünde olduğu gibi, Gender (B2:B16) ve Round (C2:C16) sütunlarındaki her bir değeri G1 ve G2 hücrelerindeki ölçütlerle karşılaştırarak iki ölçütü değerlendiririz. Sonuç, DOĞRU ve YANLIŞ değerlerinden oluşan iki dizidir. Dizilerin öğelerini aynı konumlarda çarpmak DOĞRU ve YANLIŞ değerlerini sırasıyla 1 ve 0 değerlerine dönüştürür; burada 1 değeri her iki ölçütü de karşılayan öğeleri temsil eder.dizisi uzun atlama sonuçlarını içerir (D2:D16). 0 ile çarpmak sıfır verdiğinden, yalnızca ilgili konumlarda 1 (TRUE) olan öğeler kalır:

    {0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}

    Bu durumda max_range herhangi bir metin değeri içeriyorsa, çarpma işlemi #VALUE hatasını döndürür ve bu nedenle formülün tamamı çalışmaz.

    MAX işlevi buradan alır ve belirtilen koşulları karşılayan en büyük sayıyı döndürür. Tek bir elemandan {4.63} oluşan sonuç dizisi SUMPRODUCT işlevine gider ve bir hücredeki maksimum sayıyı verir.

    Not: Özel mantığı nedeniyle, formül aşağıdaki uyarılarla çalışır:

    • En yüksek değeri aradığınız aralık yalnızca sayı içermelidir. Herhangi bir metin değeri varsa, #VALUE! hatası döndürülür.
    • Formül, negatif bir veri kümesinde "sıfıra eşit değil" koşulunu değerlendiremez. Sıfırları yok sayarak maksimum değeri bulmak için, bir MAX IF formülü veya MAXIFS işlevi kullanın.

    VEYA mantığı ile Excel MAX EĞER formülü

    Maksimum değeri bulmak için herhangi bir belirtilen koşullardan biri karşılanırsa, Boole mantığı ile zaten bilinen dizi MAX EĞER formülünü kullanın, ancak koşulları çarpmak yerine toplayın.

    {=MAX(IF(( criteria_range1 = KRİTERLER1 ) + ( criteria_range2 = kriterler2 ), max_range ))}

    Alternatif olarak, aşağıdaki dizi olmayan formülü kullanabilirsiniz:

    =SUMPRODUCT(MAX(( criteria_range1 = KRİTERLER1 ) + ( criteria_range2 = kriterler2 )) * max_range ))

    Örnek olarak, 2. ve 3. turlarda en iyi sonucu hesaplayalım. Lütfen Excel dilinde görevin farklı şekilde formüle edildiğine dikkat edin: tur 2 veya 3 ise maksimum değeri döndürün.

    B2:B10'da listelenen turlar, C2:C10'daki sonuçlar ve F1 ve H1'deki kriterler ile formül aşağıdaki gibidir:

    =MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))

    Ctrl + Shift + Enter tuş kombinasyonuna basarak formülü girin ve bu sonucu alacaksınız:

    Aynı koşullara sahip maksimum değer, dizi olmayan bu formül kullanılarak da bulunabilir:

    =SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))

    Ancak, bu durumda C sütunundaki tüm "x" değerlerini sıfırlarla değiştirmemiz gerekir çünkü SUMPRODUCT MAX yalnızca sayısal verilerle çalışır:

    Bu formüller nasıl çalışır?

    Dizi formülü, çarpma yerine toplama işlemini kullanarak ölçütleri birleştirmeniz dışında, AND mantığına sahip MAX IF ile tamamen aynı şekilde çalışır. Dizi formüllerinde, toplama işlemi OR operatörü olarak çalışır:

    İki DOĞRU ve YANLIŞ dizisinin toplanması (B2:B10'daki değerlerin F1 ve H1'deki kriterlere göre kontrol edilmesinden kaynaklanır) 1'ler ve 0'lardan oluşan bir dizi üretir; burada 1 her iki koşulun da DOĞRU olduğu öğeleri ve 0 her iki koşulun da YANLIŞ olduğu öğeleri temsil eder. Sonuç olarak, EĞER işlevi C2:C10'daki tüm öğeleri "tutar" ( value_if_true ) için herhangi bir koşul DOĞRU (1); geri kalan öğeler YANLIŞ ile değiştirilir çünkü value_if_false argümanı belirtilmemiştir.

    Dizi olmayan formül benzer şekilde çalışır. Aradaki fark, EĞER'in mantıksal testi yerine, 1'ler ve 0'lar dizisinin öğelerini karşılık gelen konumlardaki uzun atlama sonuçları dizisinin (C2:C10) öğeleriyle çarpmanızdır. Bu, herhangi bir koşulu karşılamayan öğeleri geçersiz kılar (ilk dizide 0 vardır) ve koşullardan birini karşılayan öğeleri tutar (ilk dizide 1 vardır).dizi).

    MAXIFS - koşullarla en yüksek değeri bulmanın kolay yolu

    Excel 2019, 2021 ve Excel 365 kullanıcıları, kendi MAX IF formüllerini oluşturmak için dizileri evcilleştirme zahmetinden kurtuldu. Excel'in bu sürümleri, koşullarla en büyük değeri bulmayı çocuk oyuncağı haline getiren uzun zamandır beklenen MAXIFS işlevini sağlar.

    MAXIFS'in ilk argümanında, maksimum değerin bulunması gereken aralığı girersiniz (bizim durumumuzda D2:D16) ve sonraki argümanlarda 126 adede kadar aralık/kriter çifti girebilirsiniz. Örneğin:

    =MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)

    Aşağıdaki ekran görüntüsünde gösterildiği gibi, bu basit formül hem sayısal hem de metin değerleri içeren aralığı işlemekte sorun yaşamamaktadır:

    Bu işlev hakkında ayrıntılı bilgi için lütfen formül örnekleriyle birlikte Excel MAXIFS işlevine bakın.

    Excel'de koşullarla maksimum değeri bu şekilde bulabilirsiniz. Okuduğunuz için teşekkür ediyor ve gelecek hafta blogumuzda görüşmeyi umuyorum!

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

    Excel MAX EĞER formülü örnekleri (.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.