聰明不如鈍筆
총명불여둔필

엑셀로 날짜 차이 '○년 ○개월 ○일'로 표시하기(feat datedif)


살다 보면 누구나 날짜 계산을 해야 할 때가 생깁니다. 시작하는 연인이나 아이를 갓 낳은 부모는 아이 100일이 언제인지 궁금할 테고, 역사적 사건이 며칠 전에 일어났는지 알고 싶을 때도 있습니다. '날짜계산기'라는 키워드로 구글링을 하면 검색 결과가 654만 개나 나오는 게 우연이 아니라는 말씀.


마이크로소프트(MS) 엑셀도 기본적으로 날짜 처리가 가능한 계산기이기 때문에 날짜 계산 기능도 제공합니다. 예를 들어 오늘부터 100일이 지난 날짜를 알고 싶으면 그냥 셀 한 곳에 2019-06-30이라고 입력한 다음 +100을 하면 됩니다.



두 날짜 사이에 며칠이나 차이가 나는지도 빼기로 알아볼 수 있습니다. 예를 들어 지난해 오늘과 올해 오늘은 365일 차이가 나겠죠? 이를 알아보려면 그냥 한 셀에서 다른 셀을 빼면 됩니다.



따라서 생년월일을 넣고 오늘 날짜를 넣으면 자신이 태어난지 며칠이나 지났는지도 확인할 수 있을 겁니다. 이건 직접 한번 해보세요.


그런데 이렇게 나이를 표시할 때는, 그러니까 주로 최연소 또는 최고령 기록을 표시할 때는 그저 며칠이 아니라 '몇 년, 몇 개월, 며칠'처럼 표시하는 걸 흔히 볼 수 있습니다. 예컨대 한국 프로야구에서 최연소로 노히트 노런을 기록한 건 1993년 4월 30일 김원형이었는데 그는 당시 20세 9개월 25일이었습니다.


이런 계산을 할 때는 datedif 함수 도움이 필요합니다. 이 함수는 기본적으로 이렇게 씁니다.


=datedif(시작 날짜, 끝 날짜, "표시 속성")


여기서 표시 속성에는 △y(연도) △m(개월) △d(일자) △ym(연도를 계산하고 남은 개월) △yd(몇년을 계산하고 남은 일자) △md(개월을 계산하고 남은 일자) 등 6가지가 있습니다.


복잡합니다. 이럴 때는 오히려 실제 예제가 더 쉬울 수 있습니다. 계속 김원형 사례를 만져볼까요? 김원형은 1972년 7월 5일생이고, 노히트노런 날짜는 1993년 4월 30일입니다. 두 날짜를 A1, A2셀에 넣고 각각 어떤 결과가 나오는지 알아보겠습니다.



우리가 원하는 결과는 위에서 보신 것처럼 '20세 9개월 25일'이었습니다. 이를 토대로 알아보면 우리에게 필요한 표시 속성은 y, ym, md라는 걸 알 수 있습니다.

다른 속성도 의미가 없는 건 아닙니다. 김원형은 태어난지 249개월 또는 7604일 또는 20년 299일 만에 노히트노런을 기록했다고 써야 할 때가 있는 법이니까요. 필요에 따라 원하는 걸 골라쓰면 그만입니다. 현재 우리 목표와 맞지 않을 뿐이죠.


그러면 한꺼번에 '20세 9개월 25'일이 나타나도록 하려면 어떻게 해야 할까요? 엑셀에서 값을 연결할 때는 '&'를 쓰기만 하면 됩니다. 이렇게 말입니다.


=DATEDIF(A1,A2,"y")&"세 "&DATEDIF(A1,A2,"ym")&"개월 "&DATEDIF(A1,A2,"md")&"일"


그러면 아래 그림처럼 원하는 형태로 잘 나온다는 걸 확인하실 수 있습니다.



여러분은 태어나신지 몇 년 몇 개월 며칠이나 되셨나요? 아니면 지금 다니고 계신 회사에 몇 년 몇 개월 며칠이나 근무하셨나요? 이 함수를 알고 계시면 별로 어렵지 않게 답을 찾으셨을 줄로 믿습니다.

댓글,

Kidult/Excelsior | 카테고리 다른 글 더 보기