KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

Excel 에서 특정 날짜 범위(두 날짜 사이) 범위 내 최댓값 또는 최소값을 찾는 방법은 무엇인가요?

작성자Siluvia수정 날짜

일상적인 데이터 분석 작업, 특히 거래 내역이나 시계열 데이터를 다룰 때 특정 기간 내에서 발생하는 최고값 또는 최저값을 식별해야 할 경우가 많습니다. 예를 들어 아래 스크린샷과 같은 테이블이 있다고 가정해 보세요. 2016/7/1 부터 2016/12/1 사이와 같이 특정 기간 내 최댓값 또는 최소값을 구하고자 합니다。 이는 특정 기간에 대한 보고서 작성, 월별 성과 비교, 데이터의 피크와 저점을 추적할 때 흔히 요구되는 작업입니다。 이 문서에서는 Excel 수식, VBA 코드, 내장 기능을 활용한 여러 실용적인 해결 방법을 안내하여 필요한 값을 신속하고 정확하게 추출할 수 있도록 도와드립니다。

날짜 범위에서 최대값 또는 최소값을 계산하기 위한 날짜와 값이 포함된 Excel 테이블 스크린샷


배열 수식을 사용하여 특정 날짜 범위 내 최댓값 또는 최소값 찾기

직관적인 방법 중 하나는 Excel 의 배열 수식을 사용하는 것입니다。 이 수식을 사용하면 날짜가 지정한 제한된 범위 범위 내에 있는지 확인하는 등 여러 조건에 따라 값을 계산할 수 있습니다。 이 방법은 중간 규모의 데이터를 다루거나 수식 입력에 익숙한 사용자에게 적합합니다。

A 열(A5:A17)에 워크시트 목록 날짜가 있고 B 열(B5:B17)에 해당 값이 있으며, 범위의 시작일과 종료 날짜이 각각 B1 및 D1 셀에 입력되어 있다고 가정합니다。

1. 결과를 표시할 빈 셀(예: E2)을 선택하세요。

2016/7/1 부터 2016/12/1 사이의 최대값 찾기:

2. 선택한 셀에 다음 수식을 입력하세요。 입력 후Ctrl+Shift+Enter키를 눌러(Enter 만 누르지 말고) Excel 이 이를 배열 수식으로 인식하도록 하세요:

=MAX(IF((A5:A17=$B$1),B5:B17,""))

이 수식은 날짜가 시작일과 종료 날짜 사이에 있는지 확인하고, 해당 행의 값만 고려하여 최댓값을 계산합니다。

Excel에서 배열 수식을 사용하여 날짜 범위 내 최대값을 찾은 결과를 보여주는 스크린샷

2016/7/1 부터 2016/12/1 사이의 최소값 찾기:

3. 동일한 날짜 범위 내 최솟값을 찾으려면 유사한 방법을 사용하세요。 다음 수식을 입력한 후(이 경우에도)Ctrl+Shift+Enter키로 확인하세요):

=MIN(IF((A5:A17=$B$1), B5:B17, ""))

이 수식은 동일한 방식으로 작동하지만 날짜 조건과 일치하는 최소값을 반환합니다。

Excel에서 배열 수식을 사용하여 날짜 범위 내 최소값을 찾은 결과를 보여주는 스크린샷

참고:

  • 위의 예시에서A5:A17은 날짜가 포함된 범위이며,$B$1은 시작일이고,$D$1은 종료 날짜이며,B5:B17은 평가하려는 값의 범위입니다。 실제 데이터에 맞게 이러한 참조를 조정하세요。
  • 참조하는 두 범위의 길이가 동일한지 확인하세요。 그렇지 않으면 수식에서 오류가 발생할 수 있습니다。
  • 날짜 입력값이 텍스트가 아닌 날짜 형식으로 지정되어 있는지 다시 확인하세요。 그렇지 않으면 수식이 의도대로 작동하지 않을 수 있습니다。

팁:

  • Office 365 또는 Excel 2021 이상 버전을 사용 중이라면, 보다 간편한 조건 기반 계산을 위해MAXIFSMINIFS함수를 사용할 수 있습니다。
  • 수식이 예기치 않게 0 또는 공백을 반환하는 경우, 날짜 범위가 사용 가능한 데이터 날짜와 겹치는지 확인하고 눈에 띄지 않는 공백 셀이 없는지 점검하세요。

VBA 코드: 지정된 특정 날짜 범위 내 최댓값 또는 최소값 자동으로 찾기

대규모 데이터 세트를 다루거나 이 작업을 자주 반복해야 하거나 보고 자동화가 필요한 사용자의 경우, 선택한 날짜 범위 범위 내 최댓값 또는 최소값을 효율적으로 찾아주는 VBA 매크로 솔루션이 적합합니다. VBA 를 사용하면 매번 관련 범위를 선택하고 날짜를 설정하도록 사용자에게 프롬프트할 수 있어 동적 애플리케이션 또는 고급 워크플로 통합에 이상적입니다。

1.개발자탭으로 이동하여>Visual Basic을 클릭하세요。 나타나는 VBA 편집기 창에서삽입>모듈을 선택한 후 다음 코드를 새 모듈에 복사하여 붙여넣으세요:

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.매크로를 실행하려면 VBA 편집기에서실행 버튼실행 단추를 클릭하거나()F5키를 누르세요)。 날짜 및 값 범위를 선택하고 시작일과 종료 날짜을 입력하라는 프롬프트에 따라 진행하면, 지정한 특정 날짜 간격에 대한 최댓값과 최소값이 대화 상자에 표시됩니다。

팁:

  • 선택한 날짜 범위와 값 범위에 동일한 수의 행이 포함되어 있고 서로 정확히 대응하는지 확인하세요。
  • 이 방법은 특히 방대한 목록을 처리하거나 변경되는 조건에 따라 반복적인 최댓값/최솟값 계산을 자동화할 때 유용합니다。
  • 공백이거나 유효하지 않은 범위를 선택했거나 날짜 입력이 올바르게 형식 지정되지 않은 경우, 코드가 유효한 결과를 생성하지 못할 수 있으므로 실행 전 선택 항목을 다시 확인하세요。

기타 Excel 내장 방법: 피벗테이블을 사용하여 날짜 범위별로 최댓값/최솟값 필터링 및 표시하기

수식이나 코드 사용을 원하지 않는 경우, Excel 의피벗테이블기능을 활용하면 날짜별로 데이터를 필터링하고 최댓값 또는 최솟값과 같은 요약 값을 대화형으로, 수식 없이 표시할 수 있습니다。 이 솔루션은 데이터를 탐색하거나 보고서 생성하거나 그래픽 인터페이스를 통해 조건을 쉽게 조정해야 하는 사용자에게 적합합니다。

1.날짜와 값이 모두 포함된 테이블을 선택한 후삽입탭으로 이동하여피벗테이블을 클릭하세요。

2.피벗테이블 만들기대화 상자에서 피벗테이블을 배치할 위치를 선택한 후확인을 클릭하세요。

3.피벗테이블 필드창에서Date필드를영역으로, 최댓값/최솟값을 찾고자 하는Values필드를영역으로 끌어다 놓으세요。 기본적으로합계가 표시되며,영역의 필드를 클릭하여값 필드 설정필드 설정을 선택한 후 필요한 경우최댓값또는최솟값으로 변경하세요。

4.특정 날짜 범위로 필터링하려면날짜필드의 행 레이블에 있는 드롭다운을 클릭하고날짜 필터>기간…을 선택한 후 시작일과 종료 날짜을 지정하세요(예:2016/7/1~2016/12/1) 확인을 클릭합니다。확인.

피벗테이블은 이제 각 날짜별로 최대값 또는 최소값을 표시합니다。 해당 범위에서 단일 최고값 또는 최저값만 필요할 경우 요약된 결과를 추가로 필터링하거나 시각적으로 확인할 수 있습니다。

참고:

  • Date열의 모든 셀이 실제 날짜(텍스트 아님)인지 확인하세요。 형식이 혼합되면 필터가 일부 행을 누락할 수 있습니다。
  • 원본 데이터가 변경되면 피벗테이블을 마우스 오른쪽 버튼으로 클릭하고새로 고침을 선택하여 결과를 업데이트하세요。
  • 레이아웃에 따라 Excel 이 날짜를 월/분기/년 단위로 그룹화할 수 있습니다。 필요 시 피벗테이블 내 날짜를 마우스 오른쪽 버튼으로 클릭하고그룹 해제(또는)그룹…을 선택하여 원하는 수준을 설정하세요)。
  • 매우 큰 데이터 세트의 경우, 피벗테이블을 새 워크시트에 배치하면 가독성과 성능이 향상됩니다。

팁:

  • 슬라이서를 날짜 필드에 추가하려면(피벗테이블 분석 >)슬라이서 삽입) 상호작용 방식으로 범위를 변경할 수 있습니다。
  • 전체 필터 범위에서 단일 최댓값/최솟값이 필요한가요? 필터링 후 값 열을 정렬하거나 두 번째 값 필드를 추가한 다음 이를최댓값/최솟값으로 전환하세요。
  • 피벗차트와 함께 사용하면 필터에 따라 자동으로 업데이트되는 시각적 요약을 제공합니다。

이 방법은 수동 수식 입력을 피하고 동적 상호작용을 가능하게 하므로 프레젠테이션이나 다중 사용자 환경에 적합합니다。 매우 맞춤화된 출력이나 여러 시트에 걸친 일괄 자동화가 필요한 경우 수식 또는 VBA 방식을 고려해 보세요。


관련 문서:

최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。


Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다

  • Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
  • 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 애드인。 하나의 설치 프로그램

Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약