Excel’de belirli bir tarih aralığındaki (iki tarih arasında) maksimum veya minimum değeri nasıl bulabilirim?
Günlük veri analizi yaparken, özellikle işlem kayıtları veya zaman serisi verileriyle çalışırken, belirli bir zaman aralığında gerçekleşen en yüksek ya da en düşük değeri belirlemeniz sıkça gerekebilir. Örneğin, aşağıdaki ekran görüntüsünde gösterildiği gibi bir tablonuz olduğunu ve 1 Temmuz 2016 ile 1 Aralık 2016 tarihleri arasındaki maksimum veya minimum değeri bulmak istediğinizi düşünün. Bu tür ihtiyaçlar, belirli dönemlerde raporlama, aylık performans karşılaştırması veya verilerdeki zirve ve dip noktalarını izleme gibi durumlarda oldukça yaygındır. Bu makalede, ihtiyacınız olan değeri hızlı ve doğru şekilde elde etmenize yardımcı olacak Excel formülleri, VBA kodu ve yerleşik özellikler kullanılarak birkaç pratik çözümü adım adım inceleyeceksiniz.

➤ Dizi formülleriyle belirli bir Tarih Aralığı içinde en büyük veya Minimum Değer değeri bulun
➤ VBA kodu: Belirli bir Belirli bir tarih aralığında en büyük veya Minimum Değer değeri otomatik olarak bulun
➤ Diğer yerleşik Excel yöntemleri: En büyük/en küçük değerleri Tarih Aralığı’e göre filtreleyip görüntülemek için PivotTable kullanın
Dizi formülleriyle belirli bir Tarih Aralığı içinde maksimum veya Minimum Değer bulma
Doğrudan uygulanabilir bir yöntem, Excel’de dizi formüllerini kullanmaktır. Bu formüller, tarihlerin “Sınırlı Aralık” aralığında olup olmadığını kontrol etmek gibi çoklu kriterlere göre değer hesaplamanıza olanak tanır. Bu yöntem, orta büyüklükteki veri kümeleriyle çalışan ve formül girmeye alışkın kullanıcılar için idealdir.
Sütun A’daki (A5:A17) Çalışma Sayfası Listesi tarihlerinizi ve karşılık gelen değerlerinizi Sütun B’de (B5:B17) bulundurun; aralığın başlangıç ve bitiş tarihleri sırasıyla B1 ve D1 hücrelerine girilmiş olsun.
1. Sonucu görüntülemek için boş bir hücre seçin (örneğin E2).
1 Temmuz 2016 ile 1 Aralık 2016 arasındaki Maksimum Değer değerini bulma:
2. Seçili hücreye aşağıdaki formülü girin. Düzenledikten sonra, Excel’in bunu bir dizi formülü olarak tanımasını sağlamak için yalnızca Enter’a basmak yerine Ctrl+Shift+Enter tuşlarına basın:
=MAX(IF((A5:A17=$B$1),B5:B17,"")) Bu formül, tarihlerin başlangıç ve bitiş tarihleri arasına düşüp düşmediğini kontrol eder ve yalnızca bu aralığa uyan satırlardan gelen değerleri, maksimumu hesaplamak için dikkate alır.

1 Temmuz 2016 ile 1 Aralık 2016 arasındaki Minimum Değer değerini bulma:
3. Aynı tarih aralığında minimum değeri bulmak için benzer bir yaklaşım kullanın. Aşağıdaki formülü girin (ve yine)Ctrl+Shift+Enter tuşlarına basarak onaylayın):
=MIN(IF((A5:A17=$B$1), B5:B17, "")) Bu formül aynı şekilde çalışır, ancak tarih kriterlerinize uyan en düşük değeri döndürür.

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 başvuruları gerçek verilerinizle eşleşecek şekilde ayarlayın.
- Başvurduğunuz iki aralığın aynı uzunlukta olduğundan emin olun; aksi takdirde formül hata verebilir.
- Tarih girdilerinizin metin değil, tarih olarak biçimlendirildiğinden emin olun; aksi takdirde formül beklenen şekilde çalışmayabilir.
İpuçları:
- Office 365 veya Excel 2021 ve sonraki sürümlerini kullanıyorsanız, daha basit kriter temelli hesaplamalar için MAKÇOKETUT ve MİNÇOKETUT işlevlerini kullanabilirsiniz.
- Formül beklenmedik şekilde 0 veya boş bir sonuç döndürüyorsa, Tarih Aralığınızın mevcut veri tarihleriyle çakıştığından ve fark edilmemiş boş hücrelerin olmadığından emin olun.
VBA kodu: Belirli bir Belirli bir tarih aralıkta maksimum veya Minimum Değer değerini otomatik olarak bulma
Büyük veri kümeleriyle çalışan, bu görevi sık sık tekrarlamak zorunda olan ya da raporlamada otomasyon ihtiyacı duyan kullanıcılar için, belirlenen Tarih Aralığı içinde maksimum veya minimum değeri bulmak üzere bir VBA makrosu çözümü oldukça verimli olabilir. VBA sayesinde kullanıcıdan her seferinde ilgili aralıkları seçmesini ve tarihleri girmesini isteyebilirsiniz; bu da dinamik uygulamalar veya gelişmiş iş akışı entegrasyonları için idealdir.
1. Geliştirici sekmesine gidin ve Visual Basic seçeneğine tıklayın. Açılan VBA düzenleyici penceresinde Ekle > Modül seçeneğine tıklayıp aşağıdaki kodu yeni modüle kopyalayın ve 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 VBA Düzenleyici’deki
düğmesine tıklayın (veya)F5 tuşuna basın). İstemleri takip ederek tarih ve değer aralıklarını seçin, ardından başlangıç ve bitiş tarihlerini girin. Belirli bir tarih aralığı için elde edilen maksimum ve minimum değerler, bir iletişim kutusunda görüntülenecektir.
İpuçları:
- Seçilen tarih ve değer aralıklarının aynı sayıda satıra sahip olduğundan ve birbiriyle tam olarak örtüştüğünden emin olun.
- Bu yaklaşım, özellikle büyük listeleri işlemekte ya da değişen kriterlere göre tekrarlayan maksimum/minimum hesaplamalarını otomatikleştirmekte son derece yararlıdır.
- Boş veya geçersiz bir aralık seçerseniz ya da tarih girişi doğru biçimlendirilmemişse, kod geçerli bir sonuç üretmeyebilir—çalıştırmadan önce seçimlerinizi mutlaka tekrar kontrol edin.
Diğer yerleşik Excel yöntemleri: Tarihe göre filtreleyip maksimum/minimum değerleri PivotTablo ile görüntüleme
Formül veya kod kullanmak istemiyorsanız, verileri tarihe göre filtreleyip maksimum veya minimum gibi özet değerleri formül gerektirmeden etkileşimli şekilde görüntülemenin en ideal yolu, Excel’in PivotTablo özelliğini kullanmaktır. Bu çözüm, verileri keşfetmek, Rapor Oluştur veya görsel bir arayüzle kriterleri kolayca ayarlamak isteyen kullanıcılar için mükemmeldir.
1. Tablonuzu (hem tarihleri hem de değerleri içerecek şekilde) seçin, ardından Ekle sekmesine gidip PivotTablo düğmesine tıklayın.
2. PivotTablo Oluştur iletişim kutusunda PivotTablo’nun nereye yerleştirileceğini seçin ve Tamam düğmesine tıklayın.
3.PivotTablo Alanları bölmesinde, Tarih alanını Satırlar alanına, maksimum veya minimum değerini bulmak istediğiniz Değerler alanını ise Değerler alanına sürükleyin. Varsayılan olarak Toplam gösterecektir; Değerler alanında alana tıklayıp Değer Alan Ayarları seçeneğini belirleyin ve gerekirse Maks veya Min 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çeneğini belirleyin, ardından başlangıç ve bitiş tarihlerinizi girin (örneğin,)2016/7/1 ile 2016/12/1) ve Tamam düğmesine tıklayın.
Özet Tablo, artık her tarih için belirttiğiniz Sınırlı aralık aralığında en yüksek değeri veya Minimum Değer değerini gösterecektir. Bu aralıkta yalnızca tek bir en yüksek veya en düşük değere ihtiyacınız varsa, özetlenmiş sonucu daha da filtreleyebilir veya görsel olarak tarayabilirsiniz.
Notlar:
- Tarih sütunundaki tüm hücrelerin gerçek tarih olduğundan (metin değil) emin olun. Karışık biçimler, filtrelerin satırları atlamasına neden olabilir.
- Kaynak veri değişirse, PivotTabloya sağ tıklayıp sonuçları güncellemek için Yenile seçeneğini belirleyin.
- Düzeninize bağlı olarak Excel tarihlerini ay, çeyrek veya yıl bazında gruplayabilirsiniz. Gerekirse PivotTablo’daki bir tarihe sağ tıklayın ve Gruplandırmayı Kaldır(veya istenen düzeyi ayarlamak için)Gruplandır…) seçeneğini seçin.
- Çok büyük veri kümeleri için PivotTabloyu ayrı bir Yeni çalışma sayfası’ye yerleştirmek okunabilirliği ve performansı artırabilir.
İpuçları:
- Etkileşimli aralıkları değiştirmek için Tarih alanına bir Dilimleyiciekleyin (PivotTablo Analizi >)Dilimleyici Ekle).
- Tüm Filtre Aralığı’nda tek bir maksimum/minimum değer mi gerekiyor? Filtreledikten sonra Değerler sütununu sıralayın ya da ikinci bir Değerler alanı ekleyip bunu Maks/Min olarak değiştirin.
- Filtrelerinizle birlikte güncellenen görsel bir özet elde etmek için bir PivotGrafik ile eşleştirin.
Bu yöntem, manuel formül girmeyi ortadan kaldırır ve sunumlar veya çoklu kullanıcı senaryoları için harika olan dinamik etkileşime olanak tanır. Çok sayıda sayfada toplu otomasyon veya son derece özelleştirilmiş çıktılar gerekiyorsa formül veya VBA yaklaşımlarını değerlendirmelisiniz.
İlgili makaleler:
- Excel'de bir metin dizesindeki ilk/son sayının konumu nasıl bulunur?
- Excel'de her ayın ilk veya son Cuma günü nasıl belirlenir?
- Excel'de DÜŞEYARA ile ilk, ikinci veya n. eşleşme değerini nasıl bulursunuz?
- Excel'de bir aralıkta en yüksek sıklığa sahip değer nasıl bulunur?
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar