Excel förutsätter felaktigt att år 1900 är ett skottår

Symptom

Microsoft Excel förutsätter felaktigt att år 1900 är ett skottår. Den här artikeln förklarar varför år 1900 behandlas som ett skottår och beskriver de beteenden som kan uppstå om det här specifika problemet korrigeras.

Mer information

När Lotus 1-2-3 först släpptes antog programmet att år 1900 var ett skottår, även om det faktiskt inte var ett skottår. Detta gjorde det enklare för programmet att hantera skottår och orsakade ingen skada på nästan alla datumberäkningar i Lotus 1-2-3.

När Microsoft Multiplan och Microsoft Excel släpptes antog de också att 1900 var ett skottår. Det här antagandet gjorde att Microsoft Multiplan och Microsoft Excel kunde använda samma seriellt datumsystem som används av Lotus 1-2-3 och ge bättre kompatibilitet med Lotus 1-2-3. Att behandla 1900 som ett skottår gjorde det också lättare för användare att flytta kalkylblad från ett program till det andra.

Även om det är tekniskt möjligt att korrigera det här beteendet så att aktuella versioner av Microsoft Excel inte förutsätter att 1900 är ett skottår, uppväger nackdelarna med att göra det fördelarna.

Om det här beteendet skulle korrigeras skulle många problem uppstå, bland annat:

  • Nästan alla datum i aktuella Microsoft Excel-kalkylblad och andra dokument skulle minskas med en dag. Det skulle ta lång tid och ansträngning att korrigera det här skiftet, särskilt i formler som använder datum.
  • Vissa funktioner, till exempel funktionen WEEKDAY, returnerar olika värden. detta kan göra att formler i kalkylblad fungerar felaktigt.
  • Om du korrigerar det här beteendet bryts kompatibiliteten för seriedatum mellan Microsoft Excel och andra program som använder datum.

Om beteendet förblir okorrigerat uppstår bara ett problem:

  • Funktionen WEEKDAY returnerar felaktiga värden för datum före 1 mars 1900. Eftersom de flesta användare inte använder datum före den 1 mars 1900 är det här problemet sällsynt.

Obs! Microsoft Excel hanterar korrekt alla andra skottår, inklusive århundradeår som inte är skottår (till exempel 2100). Endast år 1900 hanteras felaktigt.

Referenser

Mer information om hur du avgör om ett visst år är ett skottår finns i Metod för att avgöra om ett år är ett skottår.