Excel에서 두 날짜 사이의 모든 레코드를 추출하는 방법은 무엇입니까?
Excel에서 대량의 타임스탬프가 찍힌 데이터를 다룰 때, 특정 두 날짜 사이에 해당하는 모든 레코드를 추출하거나 필터링해야 할 때가 많습니다. 예를 들어, 청구 기간 내의 거래를 분석하거나 특정 월의 출석 기록을 검토하거나 사용자가 설정한 날짜 범위 내에 기록된 항목들을 조사하고 싶을 수 있습니다. 관련된 각 행을 수동으로 검색하고 복사하는 것은 특히 데이터 양이 많아질수록 번거롭고 실수하기 쉬운 작업입니다. 두 날짜 사이의 모든 레코드를 효율적으로 추출하면 시간과 노력을 크게 절약할 수 있을 뿐만 아니라 중요한 항목을 놓치거나 데이터 처리 중 실수를 하는 위험도 줄일 수 있습니다.
![]() | ![]() | ![]() |
아래에서는 Excel에서 두 날짜 사이의 모든 레코드를 추출하는 몇 가지 실용적인 방법을 소개합니다. 각 방법은 공식 기반 추출(추가 기능 불필요)에서 Kutools for Excel을 사용하여 편의성을 높이는 방식, VBA 코드 및 Excel의 기본 제공 필터까지 다양한 필요와 사용자 선호에 맞는 유연한 솔루션을 제공합니다.
Kutools for Excel을 사용하여 두 날짜 사이의 모든 레코드 추출
Excel 필터를 사용하여 두 날짜 사이의 레코드 추출
공식을 사용하여 두 날짜 사이의 모든 레코드 추출
Excel에서 공식을 사용하여 두 날짜 사이의 모든 레코드를 추출하려면 다음 단계를 따르세요. 이 솔루션은 원본 데이터 세트나 날짜 조건이 변경될 때마다 결과가 자동으로 업데이트되는 동적 업데이트를 원할 때 특히 유용합니다. 그러나 배열 공식에 익숙하지 않다면 초기 설정이 다소 복잡할 수 있습니다. 데이터 세트가 매우 큰 경우 이 방법은 계산 성능이 느려질 수 있습니다.
1. Sheet2와 같은 새 워크시트를 준비하여 날짜 경계를 지정하고 추출된 레코드를 표시합니다. A2와 B2 셀에 각각 원하는 시작 날짜와 종료 날짜를 입력하세요. 명확성을 위해 A1과 B1에 헤더를 추가할 수 있습니다("시작 날짜" 및 "종료 날짜" 등).
2. Sheet2의 C2 셀에 다음 공식을 입력하여 Sheet1에서 지정된 범위 내에 있는 날짜가 포함된 행 수를 계산합니다.
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))
공식을 입력한 후 Enter를 누릅니다. 이를 통해 필터 조건에 맞는 항목 수를 알 수 있어 예상되는 결과 수를 쉽게 파악할 수 있습니다.
참고: 이 공식에서 Sheet1은 원본 데이터 시트를 나타냅니다. $A$2:$A$22는 데이터의 날짜 열입니다. 데이터에 따라 이러한 참조를 적절히 조정하세요. A2와 B2는 시작 날짜와 종료 날짜 셀입니다.
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 대신) 배열 공식으로 작동하도록 합니다. 그런 다음 드래그 핸들을 사용하여 데이터가 있는 열만큼 오른쪽으로 드래그하고 아래로 드래그하여 모든 일치하는 행이 표시되도록 합니다. 빈칸이 보일 때까지 드래그를 계속하면 모든 일치하는 데이터가 추출된 것입니다.
팁:
- 0이 표시되면 더 이상 일치하는 레코드가 없다는 의미입니다. 더 이상 드래그하지 마세요.
- 공식의 INDEX(...) 부분은 다른 열을 추출하도록 수정할 수 있습니다. 다른 필드를 반환하려면 Sheet1!A$2:A$22 부분의 참조 열을 변경하세요.
- 이 공식은 여러 조건으로 확장되거나 전체 행을 추출하는 데 사용할 수 있습니다(각 열에 공식을 반복함).
4. 일부 날짜 결과는 5자리 숫자(Excel 직렬 날짜 번호)로 표시될 수 있습니다. 이를 읽기 쉬운 날짜 형식으로 변환하려면 해당 셀을 선택하고 홈 탭으로 이동하여 서식 드롭다운 메뉴를 열고 짧은 날짜 형식을 선택합니다. 이렇게 하면 추출된 데이터가 더욱 명확하고 사용하기 편해집니다.
주의 사항:
- 원본 데이터의 모든 날짜 항목이 진짜 날짜 형식인지 확인하세요. 텍스트로 저장된 경우 공식이 제대로 작동하지 않을 수 있습니다.
- 데이터 크기가 변경되면 배열 범위를 조정하세요.
- #NUM! 또는 #N/A 오류가 발생하면 비어 있는 입력 날짜나 소스 데이터의 불일치를 확인하세요.
Kutools for Excel을 사용하여 두 날짜 사이의 모든 레코드 추출
보다 간소화되고 상호작용적인 솔루션을 선호하는 경우, Kutools for Excel의 특정 셀 선택 기능을 사용하면 몇 번의 클릭만으로 날짜 범위에 맞는 전체 행을 추출할 수 있으며, 공식이나 수동 설정의 필요성을 최소화할 수 있습니다. 이 기능은 특히 복잡한 필터링 작업이나 대규모 데이터세트에 대한 배치 작업을 자주 처리하는 사용자에게 적합하며, 공식 오류 발생 가능성을 줄이고 작업 속도를 높여줍니다.
Kutools for Excel 설치 후에는 다음 단계를 따르세요. (지금 무료로 Kutools for Excel 다운로드!)
1. 먼저 분석 및 추출하려는 데이터셋의 범위를 선택하세요. 그런 다음 Kutools > 선택 > 특정 셀 선택 을 클릭하세요. 그러면 고급 선택을 위한 대화창이 열립니다.
2. 특정 셀 선택 대화창에서:
- '전체 행' 옵션을 체크하여 전체 일치하는 행을 선택하세요.
- 필터 조건을 설정하세요: 날짜 열의 드롭다운 목록에서 '보다 큼'과 '보다 작음'을 선택하세요.
- 텍스트 상자에 시작 날짜와 종료 날짜를 수동으로 입력하세요(데이터와 형식이 일치하는지 확인).
- 'And' 논리를 선택하여 두 조건이 동시에 적용되도록 합니다.

3. 클릭하세요 확인. Kutools는 즉시 날짜 열이 지정된 범위 내에 있는 모든 행을 선택합니다. 그런 다음 Ctrl + C 를 눌러 선택된 행을 복사하고, 빈 시트 또는 새로운 위치로 이동한 후 Ctrl + V 를 눌러 추출된 결과를 붙여넣으세요.
팁 및 주의 사항:
- Kutools 방법은 원본 데이터를 변경하거나 공식을 작성할 필요가 없습니다.
- 날짜 형식이 일관되지 않은 경우, 복사하기 전에 선택 결과를 미리 확인하세요.
- 반복적이거나 배치 필터링 작업에 이 기능을 사용하세요—다양한 날짜 범위에 대해 신속하게 단계를 반복합니다.
- 설명된 기능이 Kutools 버전에서 표시되지 않는 경우, 최상의 호환성을 위해 최신 버전으로 업데이트하세요.
시나리오 분석: 이 방법은 많은 열을 가진 목록을 관리하거나 변경되는 날짜 한도에 따라 전체 레코드를 반복적으로 추출해야 하는 사용자에게 이상적입니다.
VBA 코드 - 매크로를 사용하여 두 지정된 날짜 사이의 모든 행 자동 필터링 및 추출
워크플로우에서 종종 두 날짜 사이의 데이터를 추출하는 경우, 프로세스를 완전히 자동화하려면 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. 매크로를 실행하려면 (실행) 버튼을 클릭하거나 F5.
키를 누릅니다. 그런 다음 단계를 완료하기 위한 안내에 따라 진행합니다.
- 데이터 테이블 선택(헤더 포함) 첫 번째 입력 상자가 나타나면 전체 테이블(헤더 행 포함)을 선택하고 확인을 클릭하세요.
- 날짜 열 선택(헤더 포함) 두 번째 입력 상자가 나타나면 날짜 열만(헤더 포함) 선택하고 확인을 클릭하세요.
- 시작 및 종료 날짜 입력 시작 날짜(형식: 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 AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!