인사팀에서 일하다 보면 매년 비슷한 질문을 받습니다. "이 직원 이번 달로 근속 몇 년째예요?", "정년퇴직까지 며칠 남았어요?" 매번 손가락으로 달력 넘겨가며 세던 시절이 있었는데, 날짜 함수 몇 개만 알면 이런 계산이 전부 자동으로 처리됩니다. 오늘은 입사일, 마감일처럼 날짜 데이터를 다룰 때 실무에서 자주 쓰는 함수들을 정리해보겠습니다.
TODAY, NOW — 오늘 날짜를 자동으로 불러오기
가장 기본이 되는 함수부터 보겠습니다.
=TODAY() → 오늘 날짜만 표시
=NOW() → 오늘 날짜와 현재 시각까지 표시
두 함수 모두 괄호 안에 아무것도 넣지 않습니다. 파일을 열 때마다 자동으로 오늘 날짜를 기준으로 다시 계산되기 때문에, 마감일까지 남은 일수나 근속연수처럼 "오늘 기준으로" 계산해야 하는 값에는 거의 항상 이 함수가 들어갑니다.
DATEDIF — 두 날짜 사이의 기간 계산하기
근속연수, 나이, 남은 일수처럼 두 날짜 사이의 차이를 계산할 때 가장 많이 쓰는 함수입니다. 다만 함수 마법사에는 안 뜨고 직접 타이핑해야 나오는 조금 숨겨진 함수라서, 처음 접하시는 분들은 존재 자체를 모르는 경우가 많습니다.
=DATEDIF(시작일, 종료일, 단위)
단위 자리에 무엇을 넣느냐에 따라 결과가 달라집니다.
- "Y": 만 나이 계산하듯 연 단위로
- "M": 월 단위로
- "D": 일 단위로
근속연수 구하기
=DATEDIF(B2, TODAY(), "Y")
B2에 입사일이 있다면, 입사일부터 오늘까지 만으로 몇 년이 지났는지 계산해줍니다. 이 수식 하나만 걸어두면 매년 따로 갱신할 필요 없이 오늘 날짜 기준으로 자동으로 근속연수가 늘어납니다.
근속연수를 "O년 O개월"처럼 자세히 표시하기
=DATEDIF(B2, TODAY(), "Y")&"년 "&DATEDIF(B2, TODAY(), "YM")&"개월"
앞서 다룬 & 연산자와 조합한 형태입니다. "Y"로 연 단위를, "YM"으로 연도를 뺀 나머지 개월 수를 각각 구해서 텍스트로 이어 붙이면 "5년 3개월"처럼 자연스러운 형태로 표시됩니다.
마감일까지 남은 일수 계산하기
DATEDIF까지 안 가도, 그냥 두 날짜를 빼기만 하면 며칠 차이인지 나옵니다.
=B2-TODAY()
B2에 마감일이 있다면, 오늘부터 마감일까지 며칠 남았는지 숫자로 바로 나옵니다. 계약 만료일, 프로젝트 마감일처럼 여러 건을 동시에 관리해야 할 때, 이 값을 기준으로 조건부 서식을 걸어서 7일 이내로 남은 항목만 빨간색으로 표시해두면 놓치는 일이 확 줄어듭니다.
YEAR, MONTH, DAY — 날짜에서 특정 부분만 뽑아내기
날짜 전체가 아니라 연도나 월만 따로 필요할 때 씁니다.
=YEAR(날짜) → 연도만
=MONTH(날짜) → 월만
=DAY(날짜) → 일만
실무 예시: 입사연도별로 인원 세기
=COUNTIF(YEAR(B:B), 2020)
이렇게 직접 쓰면 오류가 나는데, YEAR 함수는 배열로 한 번에 계산되지 않기 때문입니다. 이럴 때는 앞서 다룬 SUMPRODUCT나 배열 수식을 쓰거나, 아예 별도의 열에 YEAR(B2) 수식으로 입사연도만 미리 뽑아둔 다음 그 열을 기준으로 COUNTIF를 쓰는 방법이 실무에서는 더 자주 쓰입니다.
EDATE — 몇 개월 뒤 날짜를 자동으로 구하기
계약 갱신일, 보증기간 만료일처럼 "지금부터 몇 개월 뒤"를 구해야 할 때 유용합니다.
=EDATE(시작일, 개월 수)
실무 예시: 계약 갱신일 자동 계산
=EDATE(B2, 12)
B2에 계약 시작일이 있다면, 12개월 뒤 같은 날짜를 자동으로 계산해줍니다. 음수를 넣으면 반대로 몇 개월 전 날짜도 구할 수 있어서, "3개월 전 시점 데이터만 따로 봐야 한다" 같은 상황에서도 씁니다.
자주 하는 실수 정리
DATEDIF는 특히 실수가 잦은 함수라 따로 정리해두겠습니다.
- 시작일과 종료일 순서를 반대로 넣는 경우: DATEDIF는 반드시 이른 날짜가 먼저 와야 합니다. 순서가 바뀌면 오류가 뜹니다.
- 날짜가 텍스트 형식으로 저장되어 있어서 계산이 안 되는 경우: 엑셀에 붙여넣은 날짜가 오른쪽 정렬이 아니라 왼쪽 정렬로 보인다면 텍스트 형식일 가능성이 높습니다. 이럴 때는 셀 서식을 날짜로 바꾸거나 DATEVALUE 함수로 변환해야 합니다.
- 오늘 날짜가 자동으로 계속 바뀌는 걸 원하지 않는 경우: TODAY()는 파일을 열 때마다 새로 계산되기 때문에, 특정 시점의 값을 고정해서 남겨야 하는 보고서라면 TODAY() 대신 그날의 실제 날짜를 직접 입력해야 합니다.
- "YM" 단위를 빼먹고 연 단위만 표시해서 정보가 부정확해지는 경우: 근속 5년 11개월인 사람도 "Y" 단위만 쓰면 그냥 5년으로 표시되어 정보가 뭉뚱그려집니다. 정확한 정보가 필요하다면 "YM"까지 같이 계산해야 합니다.
마치며
날짜 계산은 손으로 하면 매번 달력을 넘겨가며 세야 하지만, 함수 몇 개만 알아두면 파일을 열 때마다 자동으로 갱신됩니다. 특히 DATEDIF는 함수 목록에 안 나오는 숨겨진 함수라 모르는 분들이 의외로 많으니, 근속연수나 계약기간을 자주 계산하시는 업무라면 꼭 기억해두시길 바랍니다. 다음 편에서는 데이터를 안전하게 지키는 여러 문서 보호 방법을 다뤄보겠습니다.
'스트레스 없는 직장생활 > 직장인 엑셀 활용' 카테고리의 다른 글
| 시트 12개 복사-붙여넣기 하다가 알게 된 기능 (0) | 2026.08.16 |
|---|---|
| 실수로 수식 하나 지워봤다면, 이 글 꼭 보세요 (0) | 2026.08.16 |
| 20년 직장인이 알려주는 엑셀 텍스트 함수 실무 활용법 (0) | 2026.08.15 |
| 엑셀 셀 참조 방식(상대, 절대, 혼합 참조) (0) | 2026.08.15 |
| 보고용 차트 만들기 (0) | 2026.08.15 |