Excel 에서 겹치는 날짜/시간 범위을 찾는 방법은?
Excel 에서 겹치는 날짜 또는 시간 범위은 일정 충돌, 자원 배정 문제 또는 데이터 무결성 문제를 초래할 수 있습니다. 교대 근무표 관리, 이벤트 기획, 예약 시스템 또는 프로젝트 일정과 같이 한 기간이 다른 기간과 동시에 발생해서는 안 되는 상황에서는 겹침을 효율적으로 식별하는 것이 매우 중요합니다. 본 문서에서는 아래 스크린샷과 같이 Excel 에서 겹치는 날짜 또는 시간 범위을 찾기 위한 다양한 실용적인 접근 방법을 단계별로 안내합니다。
VBA 코드 - 더 큰 데이터셋에서 겹치는 날짜/시간 범위을 자동으로 감지하거나 보고서 생성하기 위해
조건부 서식 사용 - 워크시트에서 겹치는 범위를 시각적으로 강조 표시하여 쉽게 식별
수식을 사용하여 겹치는 날짜/시간 범위 확인
날짜 또는 시간 범위이 겹치는지를 체계적으로 확인해야 할 때 Excel 수식은 빠르고 유연한 해결책을 제공합니다。 이 방법은 소규모~중규모 데이터셋에 적합하며, 각 행별로 겹침 여부를 논리값(TRUE 또는 FALSE)으로 출력해야 할 때 유용합니다。
대표적인 사용 사례:각 행이 시작일과 종료 날짜(또는 시간)을 가진 간격을 나타내는 직원 교대 근무표, 이벤트 예약, 프로젝트 단계 추적 또는 임대 관리 등입니다。
제한 사항: 중간 규모 목록에는 효율적이지만, 매우 큰 데이터셋이나 여러 레코드에 걸쳐 포괄적인 겹침 보고서를 생성해야 할 경우에는 수식이 덜 적합할 수 있습니다。
1. 시작일이 포함된 모든 셀을 선택합니다。 범위가 강조 표시된 상태에서이름 상자(수식 표시줄 왼쪽의 필드)를 클릭하고startdate와 같은 설명형 이름을 입력한 후Enter를 눌러 확인합니다。 이 단계를 통해 수식에서 전체 목록을 쉽게 참조할 수 있습니다。 스크린샷 참조:
2. 마찬가지로 종료 날짜 셀을 선택하고이름 상자에enddate와 같은 셀 이름을 입력한 후Enter를 다시 누릅니다。 범위에 이름을 지정하면 수식을 더 읽기 쉽고 재사용 가능하게 만들 수 있습니다。
3. 겹침 결과를 표시할 첫 번째 레코드와 동일한 행의 빈 셀(예: C2)을 클릭합니다。 다음 수식을 입력하세요:
=SUMPRODUCT((A2<enddate)*(B2>=startdate))>1 A2을 해당 레코드의 시작일이 포함된 셀로,B2을 해당 종료 날짜이 포함된 셀로 바꿉니다。enddate와startdate은 앞서 정의한 이름을 사용합니다. 이 수식은 현재 간격이 목록 내 다른 간격과 겹치는지 확인합니다. Enter 를 누른 후 채우기 핸들을 아래로 드래그하여 확인하려는 모든 행에 적용하세요。 각 행에서TRUE는 해당 범위가 최소한 하나의 다른 범위와 겹친다는 의미이며, 그렇지 않으면 겹침이 없습니다。

startdate와enddate는 시작값과 종료값이 포함된 전체 열 정렬을 참조해야 합니다。 열이 다르거나 범위에 머리글이 있는 경우 셀 참조를 필요에 따라 조정하세요。
중요 참고 사항 및 문제 해결 팁:
- #VALUE! 오류가 표시되면 셀 이름 및 참조가 올바른지 확인하고 날짜 열에 텍스트나 형식이 잘못된 날짜/시간 데이터가 포함되어 있지 않은지 확인하세요。
- 이 방법은 시간 범위가 완전히 구분되지 않고 서로 겹치는 경우를 고려합니다。 한 구간의 종료 날짜이 다른 구간의 시작일과 정확히 일치하는 것처럼 끝점에서만 접촉하는 간격은 일반적으로 겹친다고 간주하지 않지만, 수식 내 부등호를 수정하여 이 동작을 조정할 수 있습니다。
- 시간 범위(시/분 포함)의 경우 셀이 시간/날짜 형식으로 일관되게 지정되어 있으면 날짜와 동일한 방식으로 수식이 작동합니다。
VBA 코드 - 더 큰 데이터셋에서 겹치는 날짜/시간 범위을 자동으로 감지하거나 보고서 생성하기 위해
대규모 데이터셋을 자주 다루고 요약 보고서를 생성하거나 모든 충돌 항목을 한 번에 표시해야 하는 경우 VBA 를 사용하면 프로세스를 크게 간소화할 수 있습니다。 이 방법은 수동 확인을 생략할 수 있으며 수백~수천 개의 간격에도 적합하며, 겹치는 모든 쌍을 강조하거나 나열하도록 맞춤 설정할 수 있습니다。
사용 시점:대규모 일정 데이터베이스나 공유 자원을 관리하는 고급 사용자, 또는 단순한 TRUE/FALSE 행 표시가 아니라 감지된 모든 겹침을 로그 형태로 생성해야 하는 사용자에게 권장됩니다。
잠재적 단점:매크로 사용을 활성화해야 하며 VBA 에 대한 기본적인 이해가 필요하고, 처음 실행하기 전에는 실수로 데이터를 덮어쓰지 않도록 주의해서 데이터를 백업해야 합니다。
1.개발 도구>Visual Basic을 클릭하여Microsoft Visual Basic for Applications창을 엽니다。 그런 다음삽입>모듈을 클릭하고 아래 코드를 모듈 창에 붙여넣으세요:
Sub FindOverlappingDateRanges()
Dim ws As Worksheet
Dim i As Long, j As Long
Dim lastRow As Long
Dim overlapList As String
Dim msg As String
Dim Start1, End1, Start2, End2
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Assumes data starts in row 2
overlapList = ""
For i = 2 To lastRow
Start1 = ws.Cells(i, 1).Value
End1 = ws.Cells(i, 2).Value
If Start1 <> "" And End1 <> "" Then
For j = 2 To lastRow
If i <> j Then
Start2 = ws.Cells(j, 1).Value
End2 = ws.Cells(j, 2).Value
If Start2 <> "" And End2 <> "" Then
If Start1 < End2 And End1 > Start2 Then
overlapList = overlapList & "Row " & i & " overlaps with Row " & j & vbCrLf
End If
End If
End If
Next j
End If
Next i
If overlapList <> "" Then
msg = "The following rows have overlapping date/time ranges:" & vbCrLf & overlapList
Else
msg = "No overlapping date/time ranges found."
End If
MsgBox msg, vbInformation, "KutoolsforExcel"
End Sub 2。 코드 입력 후실행을 클릭하거나 Enter 를 눌러 코드를 실행합니다. 매크로는 A 열(시작)과 B 열(종료)에 있는 날짜 범위 쌍을 검사하여 겹치는 항목을 찾아 메시지 상자에 충돌이 있는 모든 행을 나열하므로 감사하거나 조사하기가 쉬워집니다。
- 시작일과 종료 날짜이 각각 A 열과 B 열에 있고, 행 2 부터 시작한다고 가정합니다(행 1 은 머리글)。 데이터 구성이 다르면 범위를 조정하세요。
- 비교 대상 범위 내 모든 셀에는 공백 없이 유효한 날짜/시간 값이 포함되어야 합니다。
- 데이터 손실을 방지하기 위해 VBA 코드를 실행하거나 수정하기 전에 중요한 파일을 백업하세요。
팁:VBA 코드를 확장하여 겹치는 항목을 워크시트에서 직접 행 색상 변경이나 인접 열에 결과를 기록하는 방식으로 표시할 수 있습니다。
조건부 서식 사용 - 워크시트에서 겹치는 범위를 시각적으로 강조 표시하여 쉽게 식별
조건부 서식 사용은 스프레드시트에서 겹치는 날짜 또는 시간 간격을 시각적으로 플래그하는 실용적인 방법입니다。 특히 바쁜 일정표, 간트 차트, 이벤트 타임라인 등에서 어떤 레코드가 충돌하는지 한눈에 파악해야 할 때 유용합니다。
적합한 사용자:모든 행에 수식을 사용하거나 코드를 실행하지 않고도 즉각적인 시트 내 피드백이나 색상 표시를 원하는 사용자에게 적합합니다。 대화형 데이터 확인 및 프레젠테이션에 탁월합니다。
제한 사항:대규모 데이터셋에서는 반응 속도가 느려질 수 있으며, 겹치는 부분은 강조 표시되지만 세부적인 쌍 정보나 개수는 생성되지 않습니다。
적용 방법:
- 시작일 범위(예:A2:A100)와 종료 날짜(B2:B100)를 선택하거나, 범위가 나란히 있을 경우 두 열을 함께 선택하세요。
- 홈탭에서조건부 서식 사용>새 규칙을 클릭하세요。
- 수식을 사용하여 서식을 지정할 셀 결정을 선택하세요。
- 수식 상자에 다음 수식을 입력하세요(선택 범위가 행 2 부터 시작한다고 가정):
=SUMPRODUCT(($A2<$B$2:$B$100)*($B2>$A$2:$A$100))>1 - 서식…을 클릭하고, 겹치는 범위를 강조 표시할 채울 색상을 선택한 후확인을 클릭하여 적용하세요。
규칙을 적용하면 선택한 간격이 범위 내 다른 간격과 겹치는 모든 행이 시각적으로 강조 표시되어 개별 항목을 일일이 읽지 않고도 문제를 쉽게 파악할 수 있습니다。
팁:$A$2:$A$100과$B$2:$B$100을 실제 데이터 범위에 맞게 조정하고, 참조가 선택 범위의 첫 번째 행과 일치하는지 확인하세요。
주의 사항:두 열 중 하나만 강조 표시하려는 경우(예: 시작일만 표시), 해당 수식 논리를 계속 사용하세요。 경계에서의 겹침 여부는 특정 요구사항에 따라 결정하세요。
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
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 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약