Robert는 계보 연구를 좋아합니다. 때로는 묘비에 생년월일이 표시되는 대신 더 오래된 묘지를 발견하면 날짜와 나이가 하나만 표시됩니다. 예를 들어 ‘출생 : 1801 년 1 월 18 일, 사망 81 년, 11 개월, 17 일’또는 ‘연령 : 93 년, 8 개월, 22 일, 1901 년 3 월 18 일 사망’. Robert는 누락 된 날짜를 계산할 방법이 있는지 궁금합니다.

이를 수행하는 방법이 있지만 일반 워크 시트 함수를 사용하지 않습니다. Excel에는 날짜를 조작 할 수있는 다양한 워크 시트 함수가 포함되어 있지만 Excel의 “기준 날짜”는 1901 년 1 월 1 일입니다. 이것은 모든 날짜가 계산되는 날짜입니다. (기준 날짜를 3 년까지만 1904 년으로 변경할 수 있습니다.이 기능은 Mac의 Excel과의 호환성을 위해 제공됩니다.) 즉, 계보 목적으로 묘지에서 찾을 수있는 날짜와 같은 오래된 날짜를 사용할 수 있습니다. Excel에서 직접 계산할 수 없습니다.

다행히 VBA에는 이러한 제한이 없습니다. 즉, 계산을 수행 할 사용자 정의 함수 (매크로)를 쉽게 만들 수 있습니다. 시작일 (생년월일 또는 사망일)을 입력하여 시작하세요

셀 B1에서. 그런 다음 B2 : B4 셀에 시작 날짜를 조정할 연도, 월, 일 수를 입력합니다. 따라서 B1에 생년월일이 포함 된 경우 B2 : B4 셀은 양수 여야합니다 (시작 날짜에 추가하려고 함). B1에 사망 날짜가 포함 된 경우 B2 : B4는 음수 여야합니다 (시작 날짜에서 빼고 싶음).

그런 다음이 매크로를 만듭니다.

Function FindDate(Start As Date, iYrs As Integer, _   iMths As Integer, iDays As Integer)



Application.Volatile     Dim D As Date

D = DateAdd("yyyy", iYrs, Start)

D = DateAdd("m", iMths, D)

D = DateAdd("d", iDays, D)



FindDate = Format(D, "m/d/yyyy")

End Function

계산 된 날짜를 표시하려는 셀에 다음 공식을 입력 할 수 있습니다.

=FindDate(B1,B2,B3,B4)

함수의 결과는 지정한 연도, 월, 일로 조정 된 시작 날짜를 나타내는 형식화 된 날짜입니다. 따라서 셀 B1에 1/18/1801, 셀 B2에 81, 셀 B3에 11, 셀 B4에 17이 포함 된 경우 함수는 1/4/1883을 반환합니다. 마찬가지로 셀 B1에 1901 년 3 월 18 일이 포함되고 B2 셀에 -93이 포함되고 B3 셀에 -8이 포함되고 B4 셀에 -22가 포함 된 경우 반환 된 결과는 1807 년 6 월 26 일이됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (5896)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excelribbon-Tombstone_Date_Math [Tombstone Date Math].