用 Excel 建立會議室預約時間表:按已確認與已取消記錄查看空檔及重疊
엑셀 회의실 예약 시간표 만들기: 확정·취소 기록으로 빈 시간과 겹침 보기
文章示範用 Excel 建立會議室預約時間表,以 COUNTIFS 統計每間會議室各 30 分鐘時段的已確認預約,再用 IF 顯示空檔、單一預約或重疊。範例涵蓋會議室A、會議室B的 09:00 至 12:00 時段,並説明取消預約及更新記錄的做法;空檔只代表沒有已輸入的已確認預約。
회의실별 예약 목록만 있으면 두 방이 동시에 비는 시간을 찾기 어렵습니다. 예약 원장을 유지하면서 30분 칸마다 예약 여부를 표시하는 오전 시간표를 만들어 보겠습니다. 빈 칸뿐 아니라 같은 방의 겹치는 예약도 볼 수 있습니다.
AI의 도움으로 작성한 가상 예약 5건입니다. 계산과 시간 구간은 Python으로 검산했으며 실제 Excel 앱이나 예약 서비스를 실행한 사례는 아닙니다. “비어 있음”은 입력된 확정 예약이 없다는 뜻이며 실제 이용 가능 여부를 확인한 결과는 아닙니다.
1. 하루의 예약 원장 입력하기
시트 이름을 예약, 현황으로 만듭니다. 두 시트의 I1에 “대상 날짜”, I2에 2026-11-12를 적습니다. 예제는 이날 09:00~12:00 KST(UTC+09:00), 회의실A·회의실B만 다룹니다. 예약 한 건을 한 행에 기록합니다.
다음 블록은 위치 안내를 빼고 머리글부터 예약 시트 A1~E1에 한 열씩 넣습니다. 각 열은 머리글 포함 여섯 셀입니다. 한 셀에 몰리면 취소하고 셀별로 입력하세요. C·D열 시각은 문자열이 아닌 Excel 시각값으로 입력하고 표시 형식은 hh:mm으로 맞춥니다.
예약!A1부터 입력
예약ID
R01
R02
R03
R04
R05
예약!B1부터 입력
회의실
회의실A
회의실A
회의실A
회의실B
회의실B
예약!C1부터 입력
시작
09:00
10:00
10:30
09:30
10:30
예약!D1부터 입력
종료
10:00
11:00
11:30
10:30
11:30
예약!E1부터 입력
상태
확정
확정
확정
확정
취소
시작·종료는 모두 30분 경계에 맞추고 09:00 이상, 12:00 이하로 입력합니다. 시작은 종료보다 빨라야 합니다. 이 전제가 있어 09:00 칸을 09:00 이상~09:30 미만의 예약 상태로 읽을 수 있습니다. 날짜를 넘기거나 09:15처럼 칸 중간에 시작하는 예약은 이 양식의 범위 밖입니다.
2. 시간과 회의실별 확정 예약 건수 세기
현황 시트의 B1은 회의실A, C1은 회의실B로 씁니다. A1부터 다음 시간 목록을 넣고 A2:A7도 hh:mm으로 표시합니다. 시각은 아래 여섯 값을 직접 입력하며 마지막 칸은 11:30~12:00입니다.
현황!A1부터 입력
시간
09:00
09:30
10:00
10:30
11:00
11:30
다음 블록의 셀 주소는 빼고 =부터 수식만 입력하세요. 현황!B2에 넣은 뒤 C2까지 오른쪽으로, B2:C2를 7행까지 아래로 채웁니다.
현황!B2
=COUNTIFS(예약!$B$2:$B$101,B$1,예약!$C$2:$C$101,"<="&$A2,예약!$D$2:$D$101,">"&$A2,예약!$E$2:$E$101,"확정")
조건은 같은 회의실, 시작≤칸의 시각, 종료>칸의 시각, 상태=확정입니다. B$1은 방 이름의 1행을, $A2는 시각의 A열을 고정합니다. 예약 범위는 2~101행으로 맞췄습니다. 종료 시각은 포함하지 않아 10:00에 끝난 예약과 10:00에 시작한 예약을 겹침으로 세지 않습니다.
3. 읽기 쉬운 예약 시간표 표시하기
현황!E1에 시간, F1에 회의실A, G1에 회의실B를 씁니다. E2의 수식을 E7까지 채우고 E열을 hh:mm으로 표시합니다. F2는 G2까지 오른쪽으로, F2:G2는 7행까지 채웁니다. B:C의 건수는 남겨 두고 E:G를 시간표로 읽습니다.
현황!E2
=A2
현황!F2
=IF(B2=0,"비어 있음",IF(B2=1,"예약","겹침"))
0건은 비어 있음, 1건은 예약, 2건 이상은 겹침입니다. 다음은 E:G의 완성 결과를 시간대별로 풀어 쓴 것입니다. 겹침의 실제 건수는 B:C에서 확인합니다.
09:00~09:30
회의실A: 예약 (1건)
회의실B: 비어 있음 (0건)
09:30~10:00
회의실A: 예약 (1건)
회의실B: 예약 (1건)
10:00~10:30
회의실A: 예약 (1건)
회의실B: 예약 (1건)
10:30~11:00
회의실A: 겹침 (2건)
회의실B: 비어 있음 (0건)
11:00~11:30
회의실A: 예약 (1건)
회의실B: 비어 있음 (0건)
11:30~12:00
회의실A: 비어 있음 (0건)
회의실B: 비어 있음 (0건)
10:00 칸의 A는 R02 한 건입니다. 10:30 칸의 A는 R02·R03 두 건이므로 겹침입니다. B의 R05는 취소라 10:30·11:00 칸에 포함되지 않습니다. 예약이 없다고 청소·점검 등 다른 사용까지 없다고 판단하지는 않습니다.
4. 취소와 추가 예약을 원장에서 갱신하기
연습용 복사본에서 R03을 취소하려면 예약!E4를 확정에서 취소로 바꿉니다. A의 10:30은 예약 1건, 11:00은 비어 있음으로 바뀝니다. 취소 기록을 새 행으로 덧붙여 기존 확정 행을 남기지 않습니다.
이어서 7행에 R06 / 회의실B / 11:00 / 12:00 / 확정을 각각 A~E에 입력합니다. B의 11:00·11:30은 예약 1건으로 바뀝니다. 7행은 준비한 2~101행 범위 안이므로 수식 수정 없이 집계됩니다.
예약ID는 중복 없이, 방 이름은 머리글과 정확히 맞추고 상태는 확정·취소만 씁니다. 방 이름에는 불필요한 공백이나 *·?·~를 넣지 않습니다. 입력 조건은 수동으로 확인하는 전제이며 이 수식이 잘못된 시각·이름을 자동 차단하지는 않습니다.
5. 입력을 비우고 다음 날짜에 재사용하기
[같은 양식으로 하루 시간표 다시 만들기]
대상 날짜:
회의실 이름: 회의실A / 회의실B
입력 원자료 / 확인 기준시각:
예약 ID:
회의실:
시작 시각 / 종료 시각:
상태: 확정 또는 취소
1. 이전 파일을 보관하고 복사본 만들기
2. 예약!A2:E101의 이전 입력만 비우기
3. 두 시트 I2의 날짜를 바꾸고 그 하루의 예약만 다시 입력하기
4. 현황!A2:A7의 여섯 시각과 09:00~12:00 범위 확인하기
5. 계산 수식은 유지하고 E:G의 예약·겹침·비어 있음 확인하기
6. 겹침 칸은 B:C의 건수와 해당 예약 ID를 원장에서 찾아 조정하기
날짜 표제만 바꿔서는 원장이 날짜별로 걸러지지 않습니다. 다른 날짜의 기록을 섞지 말고 새 날짜의 기록으로 바꿔 넣습니다. 입력이 모두 비면 두 방의 여섯 칸은 모두 비어 있음으로 나오므로 입력 누락 여부도 함께 확인하세요.
102행부터 예약을 추가할 때는 모든 COUNTIFS의 B·C·D·E 범위 끝을 같은 행까지 늘립니다. 운영 시간이나 간격을 바꾸려면 시간 목록과 집계·표시 수식의 행 범위도 함께 다시 맞춥니다. 이 글의 완성 예제는 30분 단위 오전 시간표로 한정합니다.
Microsoft 공식 안내의 COUNTIFS로 같은 행의 조건을 모두 만족하는 예약을 세고, IF로 건수에 맞는 문구를 표시한 자체 양식입니다. 준비·정리 시간이 필요하면 예약 구간에 포함해 입력하며 이 합성 예제는 별도 준비·정리 시간을 두지 않았습니다.
來源:DEV Community · dev.to