메뉴
실무 위키응용 공식출퇴근 시간 구하기 공식

출퇴근 시간 구하기 공식

지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

같은 날 출퇴근 기록이 여러 건일 때 첫 출근과 마지막 퇴근 시간을 구하는 공식입니다. MINIFS 함수와 MAXIFS 함수 또는 배열 수식으로 계산할 수 있습니다.

출퇴근 시간 구하기 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01MINIFS + MAXIFS 공식 (엑셀 2019 이후)

출근시간 = IF ( COUNTIFS ( 날짜범위, 날짜, 이름범위, 이름, 출퇴근범위, "출근" )=0, "기록없음", MINIFS ( 시간범위, 날짜범위, 날짜, 이름범위, 이름, 출퇴근범위, "출근" ) )
퇴근시간 = IF ( COUNTIFS ( 날짜범위, 날짜, 이름범위, 이름, 출퇴근범위, "퇴근" )=0, "기록없음", MAXIFS ( 시간범위, 날짜범위, 날짜, 이름범위, 이름, 출퇴근범위, "퇴근" ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
시간범위필수출퇴근 시간이 입력된 범위입니다. 계산할 수 있는 실제 시간 값으로 입력합니다.
날짜범위필수출퇴근 기록의 날짜가 입력된 범위입니다.
날짜필수첫 출근과 마지막 퇴근 시간을 구할 기준 날짜입니다.
이름범위필수직원 이름이 입력된 범위입니다.
이름필수출퇴근 시간을 구할 직원 이름입니다.
출퇴근범위필수출근과 퇴근이 텍스트로 구분된 범위입니다.
G2=IF(COUNTIFS(A2:A8,E2,B2:B8,F2,C2:C8,"출근")=0,"기록없음",MINIFS(D2:D8,A2:A8,E2,B2:B8,F2,C2:C8,"출근"))
H2=IF(COUNTIFS(A2:A8,E2,B2:B8,F2,C2:C8,"퇴근")=0,"기록없음",MAXIFS(D2:D8,A2:A8,E2,B2:B8,F2,C2:C8,"퇴근"))
A
B
C
D
E
F
G
H
I
1
날짜
이름
구분
시간값
조회 날짜
조회 이름
출근시간
퇴근시간
2
2026-08-04
김하나
출근
00:00
2026-08-04
김하나
00:00
12:00
3
2026-08-04
김하나
퇴근
06:00
4
2026-08-04
김하나
출근
09:00
5
2026-08-04
김하나
퇴근
12:00
6
2026-08-04
박지훈
출근
06:00
7
2026-08-04
박지훈
퇴근
18:00
8
2026-08-05
김하나
출근
15:00
9
2026-08-04 김하나의 출근 기록 00:00과 09:00 중 첫 값은 00:00이고, 퇴근 기록 06:00과 12:00 중 마지막 값은 12:00입니다.

02MIN + MAX 배열 수식 (엑셀 2016 이하)

{출근시간 = MIN ( IF ( --( 날짜범위=날짜 ) * ( 이름범위=이름 ) * ( 출퇴근범위="출근" ), 시간범위, "" ) )}
{퇴근시간 = MAX ( IF ( --( 날짜범위=날짜 ) * ( 이름범위=이름 ) * ( 출퇴근범위="퇴근" ), 시간범위, "" ) )}
인수 설명 자세히 보기
인수구분설명
시간범위필수출퇴근 시간이 입력된 범위입니다. 계산할 수 있는 실제 시간 값으로 입력합니다.
날짜범위필수출퇴근 기록의 날짜가 입력된 범위입니다.
날짜필수첫 출근과 마지막 퇴근 시간을 구할 기준 날짜입니다.
이름범위필수직원 이름이 입력된 범위입니다.
이름필수출퇴근 시간을 구할 직원 이름입니다.
출퇴근범위필수출근과 퇴근이 텍스트로 구분된 범위입니다.
G2{=MIN(IF(--(A2:A8=E2)*(B2:B8=F2)*(C2:C8="출근"),D2:D8,""))}
H2{=MAX(IF(--(A2:A8=E2)*(B2:B8=F2)*(C2:C8="퇴근"),D2:D8,""))}
A
B
C
D
E
F
G
H
I
1
날짜
이름
구분
시간값
조회 날짜
조회 이름
출근시간
퇴근시간
2
2026-08-04
김하나
출근
00:00
2026-08-04
김하나
00:00
12:00
3
2026-08-04
김하나
퇴근
06:00
4
2026-08-04
김하나
출근
09:00
5
2026-08-04
김하나
퇴근
12:00
6
2026-08-04
박지훈
출근
06:00
7
2026-08-04
박지훈
퇴근
18:00
8
2026-08-05
김하나
출근
15:00
9
IF 함수가 조건에 맞는 값만 남긴 뒤 MIN 함수는 00:00, MAX 함수는 12:00을 반환하며, 두 수식은 Ctrl+Shift+Enter로 확정합니다.
이 공식이 사용하는 함수

동작 원리

01MINIFS + MAXIFS 공식 (엑셀 2019 이후)

COUNTIFS 함수로 출근 기록 존재 여부를 확인하고, MINIFS 함수는 첫 출근 시간을, MAXIFS 함수는 마지막 퇴근 시간을 계산합니다.

엑셀 2019 이후 공식의 예제 시트에서 G2 셀이 00:00을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

COUNTIFS 함수가 출근 기록 개수를 확인합니다

COUNTIFS 함수는 조회 날짜, 이름, 출근 구분을 모두 만족하는 기록을 셉니다. MINIFS 함수는 조건에 맞는 기록이 없어도 00:00을 반환하므로, 자정 출근과 구분하려면 개수를 먼저 확인해야 합니다.

=COUNTIFS ( A2:A8, E2, B2:B8, F2, C2:C8, "출근" )
= 2 00:00과 09:00의 출근 기록 두 건입니다.
2

MINIFS 함수가 첫 출근 시간을 찾습니다

MINIFS 함수는 세 조건을 만족하는 출근 시간 중 가장 이른 값을 계산합니다.

=MINIFS ( D2:D8, A2:A8, E2, B2:B8, F2, C2:C8, "출근" )
= 00:00 두 출근 기록 중 가장 이른 시각입니다.
3

IF 함수가 기록 여부에 따라 결과를 반환합니다

출근 기록 개수 2가 0이 아니므로 IF 함수는 MINIFS 함수가 계산한 00:00을 반환합니다. 조건을 만족하는 기록이 없으면 "기록없음"을 반환합니다.

=IF ( COUNTIFS ( A2:A8, E2, B2:B8, F2, C2:C8, "출근" )=0, "기록없음", MINIFS ( D2:D8, A2:A8, E2, B2:B8, F2, C2:C8, "출근" ) )
= 00:00 G2 셀에 표시되는 자정 출근 시각입니다.

02MIN + MAX 배열 수식 (엑셀 2016 이하)

IF 함수는 조건을 만족하는 시간만 배열로 남기고, MIN 함수와 MAX 함수는 각각 첫 출근과 마지막 퇴근 시간을 계산합니다.

이전 버전 배열수식의 예제 시트에서 G2 셀이 00:00을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

IF 함수가 조건에 맞는 출근 시간만 남깁니다

날짜, 이름, 출근 구분을 모두 만족하는 행에서는 시간값을 반환하고 나머지 행에서는 빈 문자열을 반환합니다.

=IF ( --( A2:A8=E2 ) * ( B2:B8=F2 ) * ( C2:C8="출근" ), D2:D8, "" )
= {"00:00";"";"09:00";"";"";"";""} 00:00과 09:00의 출근 시각만 남은 배열입니다.
2

MIN 함수가 배열의 최솟값을 반환합니다

MIN 함수는 남은 두 시각 중 00:00을 반환합니다. H2 셀은 같은 흐름으로 퇴근 시각 06:00과 12:00만 남긴 뒤 MAX 함수가 12:00을 반환합니다.

{=MIN ( IF ( --( A2:A8=E2 ) * ( B2:B8=F2 ) * ( C2:C8="출근" ), D2:D8, "" ) )}
= 00:00 첫 출근 시각입니다.
댓글 2
5 (2개 평가)
리베로관
리베로관 2021.01.18 23:33
감사합니다.
강민준🤗
강민준🤗 2024.08.11 20:09
좋은 강의 감사합니다🙇‍♂️
스크랩 완료