엑셀 날짜·시간 추출: DAY·MONTH·HOUR·MINUTE 검산
09:15:30에서 MINUTE는15입니다. 초가 있으니1을 빼야 한다고 보정하면14가 됩니다. 또49시간30분의 차이에서 HOUR가 반환한1을 총시간으로 읽으면 이틀이 사라집니다. 같은 입력을 구성 요소·시각 경계·전체 기간으로 나눠 이 두 오류를 확인하겠습니다.

기존 날짜·시간 설명 이미지를 보존했습니다. 새 첨부는 추출·판정기간·경계 세 시트이며 인사 기록이나 Microsoft Excel 실행 증빙은 아닙니다.
숫자 일시 여섯 개에서 구성 요소 꺼내기
추출 A2:A7의 가상 일시는 아래와 같습니다. B:G는 DAY·MONTH·YEAR·HOUR·MINUTE·SECOND 순서입니다. H열은 숫자이고1 이상인지 확인하는 입력 상태이며 업무상 날짜의 진위를 보증하지 않습니다.
| 가상 일시 | DAY | MONTH | YEAR | HOUR | MINUTE | SECOND |
|---|---|---|---|---|---|---|
| 2026-07-10 08:30:00 | 10 | 7 | 2026 | 8 | 30 | 0 |
| 2026-07-10 09:15:30 | 10 | 7 | 2026 | 9 | 15 | 30 |
| 2026-07-10 07:45:00 | 10 | 7 | 2026 | 7 | 45 | 0 |
| 2026-07-10 09:00:00 | 10 | 7 | 2026 | 9 | 0 | 0 |
| 2026-12-31 23:59:59 | 31 | 12 | 2026 | 23 | 59 | 59 |
| 2027-01-01 00:00:00 | 1 | 1 | 2027 | 0 | 0 | 0 |
-
Excel 사본에서 A2:A7의 일시와 H열
숫자 일시를 확인합니다. 날짜 서식은 숫자를 보여 주는 방식이며 임의의 문자를 변환하는 기능이 아닙니다. -
B2:G2의10·7·2026·8·30·0을 표와 비교하고, A3의 분·초가15·30인지 확인합니다.
-
마지막 행에서 연도2027과 월·일1·1, 시·분·초0·0·0을 확인합니다. 결과 열은 날짜 형식이 아닌 정수로 읽습니다.
=IF(H2="숫자 일시",DAY(A2),"")
=IF(H2="숫자 일시",MINUTE(A2),"")
DAY, MONTH, YEAR는 날짜의 해당 부분을 꺼냅니다. HOUR·MINUTE·SECOND도 시각의 부분이며 전체 기간과 같지 않습니다.
숫자 일시를 직접 만들고 입력 상태부터 연결하기
추출 시트를 새로 만드는 경우 A2에 =DATE(2026,7,10)+TIME(8,30,0), A3에 =DATE(2026,7,10)+TIME(9,15,30)을 넣습니다. 날짜 부분과 하루 중 시각 부분을 더한 숫자이며 텍스트를 날짜처럼 표시한 값이 아닙니다. A열에는 yyyy-mm-dd hh:mm:ss 표시 형식을 사용합니다.
추출!H2: 본문의 구성 요소 수식이 읽는 입력 상태
=IF(AND(ISNUMBER(A2),A2>=1),"숫자 일시","입력 확인")
H2를 H7까지 아래로 복사합니다. DAY는 B열, MONTH는 C열, YEAR는 D열, HOUR는 E열, MINUTE는 F열, SECOND는 G열입니다. 앞의 MINUTE 식을 E열에 넣지 않도록 열 이름을 함께 확인하세요. 빠진 열의 시작 수식은 다음과 같습니다.
C2
=IF(H2="숫자 일시",MONTH(A2),"")
D2
=IF(H2="숫자 일시",YEAR(A2),"")
E2
=IF(H2="숫자 일시",HOUR(A2),"")
G2
=IF(H2="숫자 일시",SECOND(A2),"")
A2:A7을 앞의 여섯 일시로 채운 다음 B2:G2를 7행까지 복사합니다. B:G는 날짜 형식이 아닌 일반 또는 숫자 형식으로 읽습니다. H열 검사는 숫자 자료형과 1 이상의 값이라는 이 예제의 조건만 확인합니다. 실제 오류 값이 들어 있으면 원본 오류를 먼저 해결하며, 허용 연도·시간대·실제 기록 여부까지 확인하는 수식은 아닙니다.
정수 시 경계9와 자정부터 분540
판정기간 A2:A5는 첫 네 일시를 참조합니다. E2의 기준은 가상 정수 시9이며 C열에서 HOUR가9보다 작은지 비교합니다. 08:30과07:45만 통과하므로 C2:C5는1·0·1·0입니다. 정확히09:00은 “이전”에 포함하지 않습니다.
=IF(B2<$E$2,1,0)
=SUM(C2:C5)
합계는 범위 밖 C7에 두며 기대값은2입니다. C5를 합계로 덮어쓰면 자기 셀을 합산하는 순환 참조가 됩니다. F2는 기준 시×60이므로540입니다. 480은8시입니다.
D2:D5는 자정부터의 분을 HOUR×60+MINUTE+SECOND/60으로 계산한510·555.5·465·540입니다. 가상 시각09:15:30의30초는 반 분입니다. 이 기준식은 정수 시 경계의 예제이며09:30처럼 분까지 정한 기준을 HOUR만으로 판정하지 않습니다.
09:15:59에서 분은15, 초는59
경계 A2:A6은09:15:00·09:15:01·09:15:59·09:16:00·09:00:30입니다. B열 MINUTE는15·15·15·16·0, C열 SECOND는0·1·59·0·30입니다.
MINUTE와 SECOND는 각 부분을 반환합니다. 초가 있다는 이유로 분을1 줄이지 않습니다. 분 단위 절사·반올림 정책이 따로 필요한 업무라면 구성 요소 추출과 별도 계산으로 정의하세요.

날짜를 보존해야49.5시간이 남습니다
판정기간 A11:B13에는 시작과 종료의 날짜·시각을 모두 넣었습니다. C는 숫자 두 개와 시작≤종료 검사, D는 총시간, E는 HOUR 부분, F는 일수 차이에 [h]:mm 표시입니다.
| 가상 시작 | 가상 종료 | 총시간 D | HOUR E | 누적 표시 F |
|---|---|---|---|---|
| 2026-07-10 09:00 | 2026-07-10 10:30 | 1.5 | 1 | 1:30 |
| 2026-07-10 23:30 | 2026-07-11 00:15 | 0.75 | 0 | 0:45 |
| 2026-07-10 09:00 | 2026-07-12 10:30 | 49.5 | 1 | 49:30 |
=IF(C13="정상",(B13-A13)*24,"")
=IF(C13="정상",HOUR(B13-A13),"")
HOUR는 시간 부분을 반환하므로 일 단위를 포함한 전체 경과시간과 구분합니다. F13의 원본값은 일수 차이이며 표시 형식으로 누적 시간을 보여 줍니다. 종료가 잘못 입력된 경우 MOD로 양수만 만들면 역전 오류를 가릴 수 있습니다.
날짜 역전 검사와 누적 시간 표시까지 재현하기
판정기간!A11:B13에는 앞 표의 시작·종료 숫자 일시를 입력합니다. 49.5시간 행은 A13에 =DATE(2026,7,10)+TIME(9,0,0), B13에 =DATE(2026,7,12)+TIME(10,30,0)을 넣어 재현할 수 있습니다. C11의 검사를 만든 뒤 결과 세 열을 연결합니다.
C11: 두 숫자와 날짜 순서 검사
=IF(COUNT(A11:B11)<>2,"입력 확인",IF(B11<A11,"날짜 역전","정상"))
D11: 숫자 총시간
=IF(C11="정상",(B11-A11)*24,"")
E11: 비교용 시 구성 요소
=IF(C11="정상",HOUR(B11-A11),"")
F11: 누적 표시용 일수 차이
=IF(C11="정상",B11-A11,"")
C11:F11을 13행까지 아래로 복사합니다. D11:D13은 숫자 형식으로 두면 1.5·0.75·49.5입니다. F11:F13의 원래 숫자는 일수 차이이므로 여기에 다시 24를 곱하지 않습니다. 데스크톱 Excel에서 F11:F13을 선택하고 셀 서식의 사용자 지정 형식을 [h]:mm로 지정하면 1:30·0:45·49:30입니다. 일반 h:mm은 24시간을 넘는 누적 시간을 모두 보여 주지 않아 마지막 행이 1:30처럼 보일 수 있습니다. Microsoft의 24시간 초과 시간 표시 안내
같은 숫자 일시를 시작과 종료에 넣으면 C열은 정상, D열은 숫자 0, F열은 0:00입니다. 반면 시작이나 종료를 비우면 C열은 입력 확인이고 D:F는 빈 표시입니다. 종료를 시작보다 앞선 날짜로 바꾸면 날짜 역전입니다. 실제 경과시간 0, 미입력, 역전을 같은 0으로 합치지 않습니다. 원래 세 쌍을 복원한 뒤 49.5와 49:30을 함께 확인하세요. Excel의 날짜 일련번호만 검사하므로 반차·휴게시간·시간대 변환 규칙은 포함하지 않습니다.

텍스트·빈칸·날짜만 있는0시의 차이
경계 B10:B13은 숫자 일시, 같은 모양의 문자열, 실제 빈칸, 날짜만 있는 숫자입니다. C열 ISNUMBER는 TRUE·FALSE·FALSE·TRUE, D열 분 결과는15·입력 확인·입력 확인·0입니다.
이 파일에서 문자 입력을 보류하는 것은 입력 정책입니다. 함수가 모든 시간 문자열을 항상 거부한다는 뜻은 아닙니다. 날짜만 있는0은 실제 자정인지 기록에서 시간이 빠진 것인지 알려 주지 않습니다. 원본 확인 없이9시간을 더해 맞추지 마세요.
입력 오류와 경계 변경을 복구하는 순서
날짜 역전 오류는 판정기간 B13을 가상 일시2026-07-09 10:30으로 바꿔 재현합니다. C13=날짜 역전, D13·F13은 빈 표시입니다. 종료를 원래7월12일10:30으로 다시 입력하면49.5시간과49:30으로 복구됩니다.
E2를8로 바꾸면 기준 분 F2=480, 이전 건수 C7=1입니다. 9로 되돌리면540·2입니다. 경계의 의미를 바꾼 시험이므로 합계 셀을2로 덮어쓰지 않습니다. 추출 A3을 문자형 일시로 바꾼 반례는 H3=입력 확인, F3·G3이 빈 표시입니다. 숫자 일시를 복원해15·30을 다시 확인합니다.
DAY·MONTH는 한 날짜의 구성 요소이므로 두 날짜 사이에 완전히 지난 연·월 수를 대신하지 않습니다. 고정 날짜의 DATEDIF 기간 검산에서 전체 개월과 나머지 개월을 나눠 읽고, 같은 날짜·월말·윤일의 기대값을 사본에서 대조하세요.
날짜·시간 계산의 한계
이 숫자 일시에는 시간대 정보가 없습니다. 시간대 변환·일광절약시간·휴게시간·급여·근태 규칙은 포함하지 않습니다. MONTH만 비교하면 다른 해의 같은 월이 합쳐질 수 있으므로 연도와 기간 경계를 함께 정하세요. 독립 재계산 결과와 원본 입력을 제공하지만 Microsoft Excel 앱의 사용자 환경 실행을 대신하지 않습니다.
DAY는 일련번호로 나타낸 날짜의 일 부분을 반환합니다.
MONTH는 일련번호로 나타낸 날짜의 월 부분을 반환합니다.
YEAR는 날짜에 해당하는 연도를 반환합니다.
HOUR는 시간값의 시 부분을 반환합니다.
MINUTE는 시간값의 분 부분을 0~59의 정수로 반환합니다.
SECOND는 시간값의 초 부분을 반환합니다.
TEXT는 숫자를 텍스트로 바꾸므로 후속 계산에서 원본 숫자와 구분해야 합니다.
출처 원문 수집일: S1 2026-09-24; S2 2026-09-24; S3 2026-09-24; S4 2026-09-24; S5 2026-09-24; S6 2026-09-24; S7 2026-09-24.