Skip to main content

Excel에서 두 날짜 사이의 모든 레코드를 추출하는 방법은 무엇입니까?

Author: Sun Last Modified: 2025-07-21

Excel에서 대량의 시간이 기록된 데이터를 다룰 때, 종종 두 특정 날짜 사이에 해당하는 모든 레코드를 추출하거나 필터링해야 할 수 있습니다. 예를 들어, 청구 기간 내의 거래를 분석하거나 특정 월의 출석을 검토하거나, 단순히 사용자 정의 날짜 범위 내에 기록된 항목을 검토하려고 할 수 있습니다. 관련된 각 행을 수작업으로 검색하고 복사하는 것은 특히 데이터 양이 많아질수록 번거롭고 오류가 발생하기 쉽습니다. 두 날짜 사이의 모든 레코드를 효율적으로 추출하면 중요한 항목을 놓치거나 데이터 처리 중 실수를 줄이는 데 도움이 될 뿐만 아니라 상당한 시간과 노력을 절약할 수 있습니다.

A screenshot of data range in Excel for extracting records between two dates Arrow right A screenshot showing extracted records between two dates in Excel

아래에서는 Excel에서 두 날짜 사이의 모든 레코드를 추출하는 여러 가지 실용적인 방법을 소개합니다. 각 접근 방식은 공식 기반 추출(추가 기능 없음)부터 Kutools for Excel을 사용한 편리함 증대, VBA 코드 및 Excel의 기본 제공 필터까지 다양한 요구와 사용자 선호도에 맞춘 유연한 솔루션을 제공합니다.

공식을 사용하여 두 날짜 사이의 모든 레코드 추출

Kutools for Excel을 사용하여 두 날짜 사이의 모든 레코드 추출 good idea3

VBA를 사용하여 두 날짜 사이의 레코드 추출

Excel 필터를 사용하여 두 날짜 사이의 레코드 추출


공식을 사용하여 두 날짜 사이의 모든 레코드 추출

공식을 사용하여 Excel에서 두 날짜 사이의 모든 레코드를 추출하려면 다음 단계를 따르세요. 이 솔루션은 특히 동적 업데이트가 필요할 때 유용합니다: 원본 데이터 세트나 날짜 조건이 변경될 때마다 결과가 자동으로 업데이트됩니다. 그러나 배열 공식에 익숙하지 않다면 초기 설정이 약간 복잡하게 느껴질 수 있습니다. 데이터 세트가 매우 큰 경우 이 방법은 계산 성능이 느려질 수 있습니다.

1. Sheet2와 같은 새 워크시트를 준비하세요. 여기서 날짜 경계를 지정하고 추출된 레코드를 표시할 것입니다. A2와 B2 셀에 각각 원하는 시작 날짜와 종료 날짜를 입력하세요. 명확성을 위해 A1과 B1에 헤더를 추가할 수 있습니다("시작 날짜" 및 "종료 날짜" 등).
A screenshot of the start and end date input cells in Excel

2. Sheet2의 C2 셀에 다음 공식을 입력하여 Sheet1에서 지정된 범위 내에 해당하는 날짜가 있는 행 수를 계산합니다.

=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))

공식을 입력한 후 Enter키를 누릅니다. 이것은 필터 조건에 부합하는 항목 수를 이해하는 데 도움이 되어 예상되는 결과 수를 쉽게 알 수 있습니다.
A screenshot of the formula used to count matching rows between two dates

참고: 이 공식에서 Sheet1은 원래 데이터 시트를 나타냅니다; $A$2:$A$22는 데이터의 날짜 열입니다. 데이터에 따라 이러한 참조를 조정하세요. A2B2는 시작 날짜와 종료 날짜 셀입니다.

3. 일치하는 레코드를 표시하려면 추출된 목록을 시작할 빈 셀을 선택하세요(Sheet2의 A5 셀 등). 다음 배열 공식을 입력하세요.

=IF(ROWS(A$5:A5)>$C$2,"",INDEX(Sheet1!A$2:A$22,SMALL(IF((Sheet1!$A$2:$A$22>=$A$2)*(Sheet1!$A$2:$A$22<=$B$2),ROW(Sheet1!A$2:A$22)-ROW(Sheet1!$A$2)+1),ROWS(A$5:A5))))

공식을 입력한 후 Ctrl + Shift + Enter 키를 눌러(단순히 Enter만 누르지 마세요) 배열 공식으로 작동하도록 만듭니다. 그런 다음 채우기 핸들을 사용하여 데이터 열만큼 오른쪽으로 드래그하고, 아래로 드래그하여 모든 일치하는 행이 표시되도록 합니다. 일치하는 데이터가 모두 추출되었음을 의미하는 빈칸이 보일 때까지 계속 드래그하세요.
A screenshot showing the extracted data using formulas

팁:

  • 0이 나오면 더 이상 일치하는 레코드가 없는 것입니다. 더 이상 드래그하지 말고 멈추세요.
  • 공식의 INDEX(...) 부분은 다른 열을 추출하도록 조정할 수 있습니다. 다른 필드를 반환하려면 Sheet1!A$2:A$22 부분의 참조 열을 변경하세요.
  • 이 공식은 여러 조건으로 확장되거나 전체 행을 추출하는 데 사용할 수 있습니다(각 열에 공식을 반복).

4. 일부 날짜 결과는 5자리 숫자(Excel 날짜 직렬 번호)로 나타날 수 있습니다. 이를 읽기 쉬운 날짜 형식으로 변환하려면 해당 셀을 선택하고 탭으로 이동하여 서식 드롭다운 메뉴를 열고 짧은 날짜 형식을 선택하세요. 이렇게 하면 추출된 데이터가 더 명확하고 사용하기 쉬워집니다.
A screenshot of formatted dates

주의 사항:

  • 원본 데이터의 모든 날짜 항목이 실제로 날짜 형식인지 확인하세요. 그렇지 않고 텍스트로 저장된 경우 공식이 예상대로 작동하지 않을 수 있습니다.
  • 데이터 크기가 변경되면 배열 범위를 조정하세요.
  • #NUM! 또는 #N/A 오류가 발생하면 빈 입력 날짜나 원본 데이터의 불일치를 확인하세요.

Kutools for Excel을 사용하여 두 날짜 사이의 모든 레코드 추출

보다 간소화되고 인터랙티브한 솔루션을 선호한다면, Kutools for Excel의 특정 셀 선택 기능을 사용해 몇 번의 클릭만으로 지정한 날짜 범위에 해당하는 전체 행을 추출할 수 있으며, 공식이나 수작업 설정을 최소화할 수 있습니다. 이는 특히 복잡한 필터 작업을 자주 처리하거나 대규모 데이터 세트에서 배치 작업을 수행하는 사용자에게 적합하며, 공식 오류 발생 가능성을 줄이고 작업 속도를 높입니다.

Kutools for Excel,AI ?가 탑재되어 있으며, 300개 이상의 유용한 기능을 제공하여 작업을 간소화합니다.

Kutools for Excel 설치 후 다음 단계를 따르세요 (지금 Kutools for Excel 무료 다운로드!)

1. 먼저 분석하고 추출하려는 데이터셋의 범위를 선택하세요. 그 다음 Kutools > 선택 > 특정 셀 선택 을 클릭하세요. 그러면 고급 선택을 위한 대화창이 열립니다.
A screenshot showing Kutools Select Specific Cells feature

2. 특정 셀 선택 대화창에서:

  • "전체 행" 옵션을 선택하여 전체 일치하는 행을 선택하세요.
  • 필터 조건을 설정하세요: 날짜 열의 드롭다운 목록에서 보다 큼보다 작음을 선택합니다.
  • 텍스트 상자에 시작 날짜와 종료 날짜를 직접 입력하세요(형식이 데이터와 일치하는지 확인하세요).
  • 두 조건이 동시에 적용되도록 “And” 논리를 선택했는지 확인하세요.
스크린샷 보기:
A screenshot of the Select Specific Cells dialog with greater than and less than options

3. 확인버튼을 클릭하세요. Kutools는 즉시 지정한 범위 내에 해당하는 모든 행을 선택합니다. 그런 다음 Ctrl + C 키를 눌러 선택한 행을 복사하고, 빈 시트 또는 새로운 위치로 이동한 다음 Ctrl + V 키를 눌러 추출된 결과를 붙여넣으세요.
A screenshot showing extracted rows after using Kutools to select and copy records between two dates

팁 및 주의사항:

  • Kutools 접근 방식은 원본 데이터를 변경하거나 공식을 작성할 필요가 없습니다.
  • 날짜 형식이 일관되지 않은 경우, 복사하기 전에 선택 결과를 미리 확인하세요.
  • 반복적이거나 배치 필터 작업에 이 기능을 사용하세요—다른 날짜 범위에 대해 신속하게 단계를 반복하세요.
  • 설명된 대로 기능이 표시되지 않는 경우, 최신 버전으로 업데이트하여 최적의 호환성을 유지하세요.

시나리오 분석: 이 방법은 많은 열을 가진 리스트를 관리하거나 변동하는 날짜 제한에 따라 전체 레코드를 반복적으로 추출해야 하는 사용자에게 이상적입니다.


VBA 코드 - 매크로를 사용하여 두 지정된 날짜 사이의 모든 행 자동 필터링 및 추출

워크플로우에서 종종 두 날짜 사이의 데이터를 추출하는 작업이 포함된다면, 이 과정을 완전히 자동화하는 것이 현명한 선택일 수 있습니다. VBA를 사용하면 사용자가 날짜 열을 선택하고 시작 및 종료 날짜를 입력한 후 자동으로 필터링하고 일치하는 행을 새 시트로 복사할 수 있습니다. 이 접근 방식은 수작업을 줄이고 실수를 줄여줍니다. 하지만 매크로 사용 활성화와 Visual Basic 에디터에 대한 어느 정도 지식이 필요합니다.

매크로를 설정하는 방법은 다음과 같습니다.

1. 개발 도구 > Visual Basic을 클릭하여 VBA 편집기를 엽니다. 새 Microsoft Visual Basic for Applications 창에서 삽입 > 모듈을 클릭한 후 다음 코드를 모듈에 복사하여 붙여넣으세요.

Sub ExtractRowsBetweenDates_Final()
'Updated by Extendoffice
    Dim wsSrc As Worksheet
    Dim wsDest As Worksheet
    Dim rngTable As Range
    Dim colDate As Range
    Dim StartDate As Date
    Dim EndDate As Date
    Dim i As Long
    Dim destRow As Long
    Dim dateColIndex As Long
    Dim cellDate As Variant

    Set wsSrc = ActiveSheet
    Set rngTable = Application.InputBox("Select the data table (including headers):", "KutoolsforExcel", Type:=8)
    If rngTable Is Nothing Then Exit Sub

    Set colDate = Application.InputBox("Select the date column (including header):", "KutoolsforExcel", Type:=8)
    If colDate Is Nothing Then Exit Sub

    On Error GoTo DateError
    StartDate = CDate(Application.InputBox("Enter the start date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    EndDate = CDate(Application.InputBox("Enter the end date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    On Error GoTo 0

    On Error Resume Next
    Set wsDest = Worksheets("FilteredRecords")
    On Error GoTo 0
    If wsDest Is Nothing Then
        Set wsDest = Worksheets.Add
        wsDest.Name = "FilteredRecords"
        
        rngTable.Rows(1).Copy
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End If

    destRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
    dateColIndex = colDate.Column - rngTable.Columns(1).Column + 1

    For i = 2 To rngTable.Rows.Count
        cellDate = rngTable.Cells(i, dateColIndex).Value
        If IsDate(cellDate) Then
            If cellDate >= StartDate And cellDate <= EndDate Then
                rngTable.Rows(i).Copy
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteFormats
                destRow = destRow + 1
            End If
        End If
    Next i

    Application.CutCopyMode = False
    wsDest.Columns.AutoFit
    MsgBox "Filtered results have been added to '" & wsDest.Name & "'.", vbInformation
    Exit Sub

DateError:
    MsgBox "Invalid date format. Please enter dates as yyyy-mm-dd.", vbExclamation
End Sub

2. 매크로를 실행하려면 Run button (실행) 버튼을 클릭하거나 F5.

키를 누릅니다. 그런 다음 단계를 마무리하기 위해 안내에 따라 진행하세요.

  1. 데이터 테이블 선택(헤더 포함)
    첫 번째 입력 상자가 나타나면 전체 테이블, 헤더 행을 포함하여 선택하세요. 확인을 클릭하세요.
  2. 날짜 열 선택(헤더 포함)
    두 번째 입력 상자가 나타나면 날짜 열만 선택하세요(헤더 포함). 확인을 클릭하세요.
  3. 시작 날짜와 종료 날짜 입력
    시작 날짜를 입력하라는 메시지가 표시됩니다(형식: yyyy-mm-dd, 예: 2025-06-01).
    그런 다음 종료 날짜를 입력하세요(예: 2025-06-30).
    각각 입력 후 확인을 클릭하세요.

FilteredRecords라는 이름의 워크시트가 자동으로 생성됩니다(존재하지 않는 경우). 시작 날짜와 종료 날짜 사이에 해당하는 날짜를 가진 행이 해당 시트로 복사됩니다. 그리고 매번 매크로를 실행할 때마다 새로운 일치하는 행이 기존 결과 아래에 추가됩니다.

문제 해결:

  • 실행 후 아무 일도 일어나지 않으면 선택된 범위를 확인하세요. 잘못된 범위나 취소된 대화 상자는 매크로를 종료합니다.
  • 날짜 열 항목이 실제 Excel 날짜인지 확인하세요. 텍스트로 저장된 경우 정확한 필터링을 위해 먼저 변환하세요.

시나리오 분석: 이 VBA 솔루션은 반복 작업, 고급 워크플로우 또는 비기술 사용자와 함께 반자동 솔루션을 공유할 때 특히 가치가 있습니다. 단순히 버튼을 할당하면 더욱 쉬운 작업이 가능합니다.


다른 기본 제공 Excel 방법 - Excel의 기본 제공 필터 기능 사용

공식이나 코드를 작성하지 않고 간단하고 인터랙티브한 접근 방식을 선호하는 사용자를 위해 Excel의 기본 제공 필터 기능은 두 날짜 사이의 행을 빠르게 보고 추출하는 방법을 제공합니다. 이는 가끔씩 작업을 수행하거나 시각적으로 확인하거나 워크시트 인터페이스에서 바로 작업해야 할 때 이상적입니다. 그러나 날짜 기준이나 데이터가 변경되어도 자동 업데이트가 제공되지 않으므로 새로운 필터 세션마다 단계를 반복해야 합니다.

사용 방법은 다음과 같습니다.

  • 열 머리글을 포함하여 데이터 범위를 선택하세요.
  • 리본의 데이터 탭으로 이동하여 필터를 클릭하세요. 각 헤더 옆에 작은 드롭다운 화살표가 나타납니다.
  • 날짜 열의 화살표를 클릭하고 날짜 필터 > 사이...를 선택하세요.
  • 대화 상자에서 원하는 시작 날짜와 종료 날짜를 입력하세요. 데이터의 날짜 형식과 일치하는지 확인하세요.
  • 확인을 클릭하세요. 지정한 범위 내의 날짜가 있는 행만 표시 상태로 남습니다.
  • 모든 표시된 행을 선택하고 Ctrl + C를 눌러 복사한 다음 빈 영역이나 다른 시트로 이동한 후 Ctrl + V를 눌러 필터링된 결과를 붙여넣으세요.

팁 및 주의사항:

  • 이 방법은 빠르고 시각적인 검사 또는 임시 추출에 가장 적합합니다.
  • 날짜 열의 형식이 일관되지 않은 경우, 필터가 정확히 작동하도록 하기 위해 먼저 수정하세요.
  • 완료 후에는 전체 데이터 집합을 다시 표시하려면 필터를 지우는 것을 기억하세요.
  • 필터링된 행은 숨겨져 있을 뿐이며 삭제된 것은 아닙니다—원본 데이터는 그대로 유지됩니다.

시나리오 분석: Excel의 기본 제공 필터는 중간 크기의 표에 가장 적합하며, 공식이나 매크로를 저장하지 않고도 하위 집합을 즉시 미리보기하거나 복사해야 할 때 유용합니다.


문제 해결 및 요약 제안:

  • 모든 솔루션이 올바르게 작동하려면 워크시트 전반에 걸쳐 날짜 셀이 일관되게 포맷되어 있는지 항상 확인하세요.
  • 공식이나 VBA를 사용할 때는 색인 또는 참조 오류를 피하기 위해 실제 시트 구조에 맞게 열 및 범위 참조를 조정하세요.
  • 매우 큰 데이터 세트에서 성능을 위해, 광범위한 배열 공식에 비해 Kutools 또는 기본 제공 필터는 일반적으로 더 빠른 결과를 제공하며 메모리/공식 계산 한도를 초과할 가능성이 적습니다.
  • 출력에서 예기치 않은 빈 칸이나 누락된 레코드를 발견하면 날짜 조건, 입력 범위 및 데이터 형식이 의도대로 설정되었는지 다시 확인하세요.

데모: Kutools for Excel을 사용하여 두 날짜 사이의 모든 레코드 추출

 
Kutools for Excel: 손끝에서 바로 사용할 수 있는 300개 이상의 유용한 도구들! 영구적으로 무료인 AI 기능을 즐기세요! 지금 다운로드하세요!

최고의 오피스 생산성 도구

? Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신…
인기 기능: 중복 찾기, 강조 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열 또는 셀 결합   |   수식 없이 반올림 ...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기   |  종속 드롭다운 목록   |  다중 선택 드롭다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  숨겨진 열의 가시성 상태 전환  |  범위 및 열 비교 ...
주요 기능: 그리드 포커스   |  디자인 보기   |   향상된 수식 표시줄    통합 문서 및 시트 관리자   |  자동 텍스트 라이브러리 (Auto Text)   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ...
최고의 15가지 도구 모음12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...)   |   50+ 차트 유형 (간트 차트, ...)   |   40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...)   |   19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...)   |   12개 변환 도구 (단어로 변환하기, 통화 변환, ...)   |   7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...)   |   ... 그리고 더 많은 기능들

Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하세요...


Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
  • 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
  • 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!