엑셀에서 만나이 구하는 방법

엑셀에서 만나이 구하는 방법
Photo by J Shim / Unsplash

엑셀에서 특정 셀에 생년월일(Date형식)이 있다면 이를 바탕으로 오늘의 만 나이(a.k.a. 윤석열나이)를 계산해봅시다. 한국 사람들의 일반적인 나이 계산 방식을 적용하면 만나이 계산은 무척이나 귀찮습니다.

  1. 올해와 태어난 해의 연도 차이는 기본적으로 한국식 나이가 됩니다.
  2. 만약 생일을 지났다면 한 살을 더 빼면 만나이가 됩니다.
  3. 아직 생일을 지나지 않았다면 한 살을 더 빼야합니다.

그런데 '생일을 지났다'는 걸 판단하기가 좀 어렵습니다.

  1. 오늘의 '월'이 생일의 '월'보다 크면 생일을 지났습니다.
  2. 오늘의 '월'이 생일의 '월'과 같다면, 오늘의 '일'이 생일의 '일'보다 크거나 같다면 생일을 지난 것으로 봅니다.

따라서 월을 비교하는 조건과 일을 비교하는 조건을 각각 고려해야하기 때문에 상당히 귀찮은 수식을 써야 합니다.

=YEAR(TODAY()) - YEAR(A1) - IF(
   OR(MONTH(TODAY()) < MONTH(A1), 
      AND(MONTH(TODAY()) = MONTH(A1), DAY(TODAY()) < DAY)
   ), 
  2, 1
)

하지만, 만나이의 실제 개념과 엑셀에서 날짜를 저장하는 방식을 이해하면 좀 더 쉬운 방법을 사용해서 정확한 만나이를 알아낼 수 있습니다. 만 나이는 0세에서 시작해 태어난 날로부터 1년이 지난 시점에 한 살을 먹는 개념입니다.

엑셀에서의 날짜는 특정한 일자로부터 경과한 일 수로 기록됩니다. 그러니까 우리 눈에는 "2024/12/12" 처럼 형식에 맞춰 표시되지만 실제로는 내부에 그냥 정수값으로 기록되어 있습니다. 즉 날짜는 날짜와 더하고 빼는 것이 가능합니다. 두 날짜를 빼면, 두 날짜 사이의 일 수가 나오게 됩니다.

즉 오늘 날짜에서부터 생년월일의 날짜를 빼고 이것을 1년의 날 수로 나누면 만나이가 되는 것입니다. 그런데 중요한 점은 1년의 날 수가 365가 아니라는 점입니다. 4년에 한 번씩 366일이므로, 그 평균인 365.25를 나누어주어야 합니다. 그렇지 않으면 생에서 경험한 윤달의 횟수가 오차를 더하게 되어 나이가 실제보다 많아질 수 있는 경우가 있습니다.

즉, 정리하면 위의 식은 다음의 식으로 간단하게 바꿀 수 있습니다.

=INT((TODAY() - A1) / 365.25)