Excel에서는 1900년이 윤년이라고 잘못 가정합니다.

증상

Microsoft Excel에서는 1900년이 윤년이라고 잘못 가정합니다. 이 문서에서는 1900년을 윤년으로 취급하는 이유를 설명하고 이 특정 문제가 수정될 경우 발생할 수 있는 동작을 간략하게 설명합니다.

추가 정보

Lotus 1-2-3이 처음 출시되었을 때, 이 프로그램은 1900년이 실제로 윤년이 아니었음에도 불구하고 윤년이라고 가정했습니다. 이렇게 하면 프로그램이 윤년을 더 쉽게 처리할 수 있었고 Lotus 1-2-3의 거의 모든 날짜 계산에 해를 끼치지 않았습니다.

Microsoft Multiplan 및 Microsoft Excel이 출시되었을 때 1900년도 윤년이라고 가정했습니다. 이 가정을 통해 Microsoft Multiplan 및 Microsoft Excel은 Lotus 1-2-3에서 사용하는 것과 동일한 직렬 날짜 시스템을 사용하고 Lotus 1-2-3과의 호환성을 향상할 수 있습니다. 또한 1900을 윤년으로 처리하면 사용자가 워크시트를 한 프로그램에서 다른 프로그램으로 쉽게 이동할 수 있습니다.

현재 버전의 Microsoft Excel에서 1900이 윤년이라고 가정하지 않도록 이 동작을 수정하는 것은 기술적으로 가능하지만, 이렇게 하면 단점이 장점보다 큽니다.

이 동작을 수정하려면 다음을 비롯한 많은 문제가 발생합니다.

  • 현재 Microsoft Excel 워크시트 및 기타 문서의 거의 모든 날짜가 하루씩 줄어듭니다. 특히 날짜를 사용하는 수식에서는 이러한 변화를 수정하는 데 상당한 시간과 노력이 필요합니다.
  • WEEKDAY 함수와 같은 일부 함수는 다른 값을 반환합니다. 이로 인해 워크시트의 수식이 잘못 작동할 수 있습니다.
  • 이 동작을 수정하면 Microsoft Excel과 날짜를 사용하는 다른 프로그램 간의 직렬 날짜 호환성이 중단됩니다.

동작이 수정되지 않은 상태로 유지되면 한 가지 문제만 발생합니다.

  • WEEKDAY 함수는 1900년 3월 1일 이전 날짜의 잘못된 값을 반환합니다. 대부분의 사용자는 1900년 3월 1일 이전의 날짜를 사용하지 않으므로 이 문제는 드뭅니다.

참고: Microsoft Excel은 윤년이 아닌 세기(예: 2100)를 포함하여 다른 모든 윤년을 올바르게 처리합니다. 1900년만 잘못 처리됩니다.

참조

지정된 연도가 윤년인지 여부를 결정하는 방법에 대한 자세한 내용은 연도가 윤년인지 여부를 확인하는 방법을 참조하세요.