Skip to main content

Kutools for Office — Bir Paket. Beş Araç. Daha Fazla İş Yapın.

Belirli bir tarih aralığında (iki tarih arasında) Excel'de en büyük veya en küçük değeri nasıl bulabilirim?

Author Siluvia Last modified

Günlük veri analizi sırasında, özellikle işlem kayıtları veya zaman serisi verileriyle çalışırken, belirli bir zaman diliminde oluşan en yüksek veya en düşük değeri belirlemeniz gerekebilir. Örneğin, aşağıdaki ekran görüntüsünde gösterilen bir tablonuz olduğunu ve 2016/7/1 ile 2016/12/1 gibi iki tarih arasındaki maksimum veya minimum değeri belirlemek istediğinizi hayal edin. Bu, belirli dönemlerde rapor oluştururken, aylık performansı karşılaştırırken veya verilerdeki zirve ve dipsizlikleri izlerken yaygın bir gereksinimdir. Bu makale, size Excel formülleri, VBA kodu ve yerleşik özellikleri kullanarak birkaç pratik çözüm sunacak ve ihtiyacınız olan değeri hızlı ve doğru bir şekilde çıkarmanıza yardımcı olacaktır.

A screenshot showing an Excel table with dates and values to calculate max or min in a date range


Dizi formüllerini kullanarak belirli bir tarih aralığında en büyük veya en küçük değeri bulun

En basit yaklaşımlardan biri, Excel'de dizi formülleri kullanmaktır. Bu formüller, birden fazla kritere göre değer hesaplamaları yapmanıza olanak tanır—örneğin, tarihlerin belirlediğiniz aralıkta olup olmadığını kontrol edebilirsiniz. Bu yöntem, orta büyüklükteki veriler ve formül girmekte rahat olan kullanıcılar için uygundur.

Çalışma sayfanızda A sütununda (A5:A17) tarihler ve B sütununda (B5:B17) karşılık gelen değerler listelenmiş olsun; başlangıç ve bitiş tarihleri sırasıyla B1 ve D1 hücrelerine girilmiş olsun.

1. Sonucu görüntülemek istediğiniz boş bir hücreyi seçin (örneğin, E2).

2016/7/1 ile 2016/12/1 arasındaki en büyük değeri bulma:

2. Seçili hücreye aşağıdaki formülü girin. Formülü düzenledikten sonra, Excel'in bunu bir dizi formülü olarak tanıması için Ctrl + Shift + Enter tuşlarına basın (sadece Enter'a basmayın):

=MAX(IF((A5:A17<=$D$1)*(A5:A17>=$B$1),B5:B17,""))

Bu formül, hangi tarihlerin başlangıç ve bitiş tarihleri arasında olduğunu kontrol eder ve yalnızca eşleşen satırlardaki değerleri dikkate alarak maksimumu hesaplar.

A screenshot showing the result of finding the max value within a date range using an array formula in Excel

2016/7/1 ile 2016/12/1 arasındaki en küçük değeri bulma:

3. Aynı tarih aralığı içinde minimumu bulmak için benzer bir yaklaşım kullanın. Aşağıdaki formülü girin (ve yine Ctrl + Shift + Enter tuşlarıyla onaylayın):

=MIN(IF((A5:A17<=$D$1)*(A5:A17>=$B$1), B5:B17, ""))

Bu formül aynı şekilde çalışır, ancak tarih kriterlerinize uygun minimum değeri döndürür.

A screenshot showing the result of finding the min value within a date range using an array formula in Excel

Notlar:

  • Yukarıdaki örneklerde, A5:A17 tarihlerinizi içeren aralık, $B$1 başlangıç tarihi, $D$1 bitiş tarihi ve B5:B17 değerlendirmek istediğiniz değerlerin aralığıdır. Bu referansları gerçek verilerinize uygun şekilde ayarlayın.
  • Referans aldığınız iki aralığın uzunluklarının aynı olduğundan emin olun—aksi takdirde formül hatalara neden olabilir.
  • Tarih girişlerinin tarih olarak değil, metin olarak biçimlendirilmediğinden emin olun, aksi takdirde formül beklenen şekilde çalışmayabilir.

İpuçları:

  • Office 365 veya Excel 2021 ve üzeri sürümlerde çalışıyorsanız, daha basit kriter temelli hesaplamalar için MAXIFS ve MINIFS fonksiyonlarını kullanabilirsiniz.
  • Formül beklenmedik bir şekilde 0 veya boş dönerse, tarih aralığının mevcut veri tarihleriyle çakıştığından emin olun ve farkına varılmamış boş hücreler için kontrol edin.

VBA kodu: Belirli bir tarih aralığında otomatik olarak en yüksek veya en düşük değeri bulma

Büyük veri setleriyle uğraşan, bu görevi sık sık tekrarlaması gereken veya raporlamada otomasyon arayan kullanıcılar için, bir VBA makro çözümü seçilen bir tarih aralığındaki maksimum veya minimum değeri etkin bir şekilde bulabilir. VBA ile kullanıcıyı her seferinde ilgili aralıkları seçmeye ve tarihleri ayarlamaya yönlendirebilirsiniz, bu da dinamik uygulamalar veya gelişmiş iş akışı entegrasyonu için idealdir.

1. Geliştirici > Visual Basic'e gidin. Görüntülenen VBA düzenleme penceresinde, Ekle > Modül'e tıklayın ve ardından aşağıdaki kodu yeni modüle kopyalayıp yapıştırın:

Sub FindMaxMinInDateRange_Robust()
    Dim ws As Worksheet
    Dim dateRange As Range, valueRange As Range
    Dim startCell As Range, endCell As Range
    Dim startDate As Date, endDate As Date
    Dim i As Long
    Dim d As Date, v As Variant
    Dim hasHit As Boolean
    Dim maxV As Double, minV As Double
    Const TITLE As String = "KutoolsforExcel"
    
    On Error GoTo FailFast
    
    Set ws = ActiveSheet
    
    
    Set dateRange = Application.InputBox("Select the DATE range:", TITLE, Type:=8)
    If dateRange Is Nothing Then Exit Sub
    Set valueRange = Application.InputBox("Select the VALUE range (same rows as date range):", TITLE, Type:=8)
    If valueRange Is Nothing Then Exit Sub
    
    If dateRange.Rows.Count <> valueRange.Rows.Count Then
        MsgBox "Date range and value range must have the SAME number of rows.", vbExclamation, TITLE
        Exit Sub
    End If
    
   
    Set startCell = Application.InputBox("Select START date cell:", TITLE, Type:=8)
    If startCell Is Nothing Then Exit Sub
    Set endCell = Application.InputBox("Select END date cell:", TITLE, Type:=8)
    If endCell Is Nothing Then Exit Sub
    
    If Not IsDate(startCell.Value) Or Not IsDate(endCell.Value) Then
        MsgBox "Start/End cell must contain valid dates.", vbExclamation, TITLE
        Exit Sub
    End If
    
    startDate = CDate(startCell.Value)
    endDate = CDate(endCell.Value)
 
    If startDate > endDate Then
        Dim tmp As Date
        tmp = startDate: startDate = endDate: endDate = tmp
    End If
    

    For i = 1 To dateRange.Rows.Count
        If IsDate(dateRange.Cells(i, 1).Value) Then
            d = CDate(dateRange.Cells(i, 1).Value)
            If d >= startDate And d <= endDate Then
                v = valueRange.Cells(i, 1).Value
                If IsNumeric(v) And Not IsEmpty(v) Then
                    If Not hasHit Then
                        maxV = CDbl(v): minV = CDbl(v)
                        hasHit = True
                    Else
                        If CDbl(v) > maxV Then maxV = CDbl(v)
                        If CDbl(v) < minV Then minV = CDbl(v)
                    End If
                End If
            End If
        End If
    Next i
    
    If hasHit Then
        MsgBox "Max value in range: " & maxV & vbCrLf & _
               "Min value in range: " & minV, vbInformation, TITLE
    Else
        MsgBox "No rows matched the date range (or values were non-numeric).", vbExclamation, TITLE
    End If
    Exit Sub

FailFast:
    MsgBox "Something went wrong: " & Err.Description, vbExclamation, TITLE
End Sub

2. Makroyu çalıştırmak için Run button düğmesine tıklayın F5). Tarih ve değer aralıklarını seçmek ve başlangıç ve bitiş tarihlerini girmek için yönergeleri izleyin. Belirlenen tarih aralığının maksimum ve minimum değerleri bir iletişim kutusunda gösterilecektir.

İpuçları:

  • Seçilen tarih ve değer aralıklarının aynı sayıda satıra sahip olduğundan ve birbiriyle doğrudan eşleştiğinden emin olun.
  • Bu yaklaşım, geniş listeleri işlemek veya değişen kriterlere göre tekrarlayan maksimum/minimum hesaplamaları otomatikleştirmek için özellikle faydalıdır.
  • Boş veya geçersiz bir aralık seçilirse veya tarih girişi doğru biçimde yapılmazsa, kod geçerli bir sonuç vermeyebilir—çalıştırmadan önce seçimlerinizi iki kez kontrol edin.

Diğer yerleşik Excel yöntemleri: Maks/min değerleri tarih aralığına göre filtrelemek ve görüntülemek için PivotTable kullanma

Formüller veya kod kullanmak istemiyorsanız, Excel’in PivotTable özelliği, verileri tarihe göre filtrelemek ve maksimum veya minimum gibi özet değerleri görüntülemek için etkileşimli, formülsüz bir yöntem sunar. Bu çözüm, verileri keşfetmek, rapor oluşturmak veya grafik arabirim kullanarak kriterleri kolayca ayarlamak isteyen kullanıcılar için uygundur.

1. Tablonuzu seçin (hem tarihler hem de değerler dahil), ardından Ekle sekmesine gidin ve PivotTable'a tıklayın.

2. PivotTable Oluştur iletişim kutusunda, PivotTable'ın nereye yerleştirileceğini seçin ve Tamam'a tıklayın.

3. PivotTable Alanları bölmesinde, Tarih alanını Satırlar alanına ve (maks/min bulmak istediğiniz) Değerler alanını Değerler alanına sürükleyin. Varsayılan olarak Toplam gösterir; Değerler alanında alanı tıklayın, Alan Ayarlarını Değerler'i seçin ve gerekli şekilde Maksimum veya Minimum olarak değiştirin.

4. Belirli bir tarih aralığına göre filtrelemek için, Tarih alanının satır etiketlerindeki açılır menüyü tıklayın, Tarih Filtreleri > Arasında… seçin, ardından başlangıç ve bitiş tarihlerinizi belirtin (örneğin, 2016/7/1 - 2016/12/1) ve Tamam'a tıklayın.

PivotTable, artık belirlediğiniz aralıktaki her bir tarih için maksimum veya minimum değeri gösterecektir. Bu aralıktaki tek en yüksek veya en düşük değeri gerekiyorsa, özetlenmiş sonucu daha fazla filtreleyebilir veya görsel olarak tarayabilirsiniz.

Notlar:

  • Tarih sütunundaki tüm hücrelerin gerçek tarihler olduğundan (metin değil) emin olun. Karışık formatlar, filtrelerin satırları kaçırmalarına neden olabilir.
  • Kaynak veriler değişirse, PivotTable'ı sağ tıklayın ve sonuçları güncellemek için Yenile'yi seçin.
  • Düzenlemenize bağlı olarak, Excel tarihleri ay/çeyrek/yıl bazında gruplayabilir. Gerekiyorsa, PivotTable'da bir tarihe sağ tıklayın ve Grubunu Çöz'ü (veya Grupla… istenen düzeyi ayarlamak için) seçin.
  • Çok büyük veri setleri için, PivotTable'ı yeni bir çalışma sayfasına yerleştirmek okunabilirliği ve performansı artırabilir.

İpuçları:

  • Tarih alanı için Bir Kesici ekleyin (PivotTable Analiz > Kesici Ekle) ve aralıkları etkileşimli olarak değiştirmek için kullanın.
  • Filtrelenmiş tüm aralıktaki tek bir maks/min mi gerekiyor? Filtrelemeden sonra Değerler sütununu sıralayın veya ikinci bir Değerler alanı ekleyin ve Maksimum/Minimum olarak değiştirin.
  • Sonuçlarınızı filtrelendiğinde güncellenen görsel bir özet oluşturmak için PivotChart ile birleştirin.

Bu yöntem manuel formül girişi gerektirmez ve dinamik etkileşim sağlar—sunumlar veya çoklu kullanıcı senaryoları için harika. Yüksek oranda özelleştirilmiş çıktılar veya birçok sayfa boyunca toplu otomasyon için formül veya VBA yaklaşımlarını göz önünde bulundurun.


İlgili makaleler:

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın – Akıllı Yürütme | Kod Oluştur | Özel Formüller Oluştur | Verileri Analiz Et ve Grafikler Oluştur | Kutools Fonksiyonlarını Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle | Boş Satırları Sil | Sütunları veya Hücreleri Veriyi Kaybetmeden Birleştir | Formül olmadan Yuvarla...
Süper ARA: Çoklu Kriter VLookup | Çoklu Değer VLookup | Çoklu sayfa araması | Bulanık Eşleme....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur | Bağımlı Açılır Liste | Çoklu seçimli Açılır Liste....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle | Sütunları Taşı | Gizli Sütunların Görünürlük Durumunu Değiştir | Aralıkları & Sütunları Karşılaştır...
Öne Çıkan Özellikler: Izgara Odaklama | Tasarım Görünümü | Gelişmiş formül çubuğu | Çalışma Kitabı & Çalışma Sayfası Yöneticisi | Otomatik Metin Kütüphanesi | Tarih Seçici | Veri Birleştir | Hücreleri Şifrele/Şifre Çöz | Listeye Göre E-posta Gönder | Süper Filtre | Özel Filtre (kalın/italik/üstü çizili filtreleme...)...
En İyi15 Araç Takımı:12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...) | 50+ Grafik Türü (Gantt Grafiği, ...) | 40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...) | 19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...) | 12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...) | 7 Birleştirme & Bölme Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...) | ... ve dahası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40+ diğer dili destekler!

Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
  • Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!

Tüm Kutools eklentileri. Tek kurulum

Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.

Excel Word Outlook Tabs PowerPoint
  • Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
  • Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
  • 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
  • En iyi değer — tek tek eklenti almak yerine tasarruf edin