Excel處理日期時(shí)存在一些問(wèn)題。許多問(wèn)題起源于多年之前設(shè)計(jì)Excel時(shí)還沒(méi)有考慮到Y(jié)2K問(wèn)題。正如所描述的那樣,Excel 的設(shè)計(jì)者基本上仿效了Lotus 1-2-3程序的有限日期和時(shí)間功能,它所包含的一個(gè)讓人討厭的bug也被有意地復(fù)制到Excel中。
如果現(xiàn)在從頭開(kāi)始設(shè)計(jì)Excel,在處理日期時(shí)它會(huì)更加靈活。不幸的是,我們當(dāng)前得到的是在日期方面還有很多不足的產(chǎn)品。
★Excel的閏年問(wèn)題
閏年每4年出現(xiàn)一次,包含額外的一天(2月29日)。盡管1900年不是閏年,但Excel卻把它當(dāng)作閏年。換句話說(shuō),當(dāng)把2/29/1900 輸入到一個(gè)單元格時(shí),Excel會(huì)將它解釋為一個(gè)有效的日期,并分配一個(gè)序列號(hào)60。
如果輸入2/29/1901,Excel 會(huì)正確地把它解釋為一個(gè)錯(cuò)誤,并且不會(huì)把它轉(zhuǎn)變?yōu)橐粋€(gè)日期,而只是把輸入項(xiàng)當(dāng)作一個(gè)文本字符串。為什么每天被上百萬(wàn)人使用的產(chǎn)品會(huì)包含一個(gè)如此明顯的bug呢?這是歷史遺留下來(lái)的問(wèn)題。Lotus 1-2-3的原始版本包含一個(gè)bug,使它認(rèn)為1900年是閏年。后來(lái)Excel發(fā)布時(shí),設(shè)計(jì)者已經(jīng)知道這個(gè)bug 了,但是選擇了把它復(fù)制到Excel中,以便Excel能夠兼容Lotus工作表文件。為什么在Excel的后來(lái)版本中仍然存在這個(gè)bug呢?微軟聲稱糾正這個(gè)bug 帶來(lái)的壞處要比好處多。如果消除這個(gè)bug,可能會(huì)搞糟無(wú)數(shù)的現(xiàn)有工作簿。此外,糾正這個(gè)問(wèn)題可能會(huì)影響Excel與其他使用日期的程序的兼容性。而且,這一bug實(shí)際上只導(dǎo)致了非常少的問(wèn)題,因?yàn)榇蠖鄶?shù)的使用者不會(huì)使用1900年3月1日之前的日期。
★1900年前的日期
當(dāng)然,這個(gè)世界不是從. 1900年1月1日開(kāi)始的。處理歷史信息的人們?cè)谑褂肊xcel 時(shí),常常需要處理1900年1月1日以前的日期。不幸的是,惟一可以處理1900 年以前日期的方法是把日期當(dāng)做文本輸入到單元格。例如,可以輸入“July 4,1776”到單元格,而Excel不會(huì)報(bào)錯(cuò)。
然而,用戶不能對(duì)識(shí)別為文本的日期進(jìn)行任何操作。例如,不能改變它的數(shù)字格式,不能確定這一日期是星期幾,也不能計(jì)算7天之后的日期。
★不一致的日期輸入項(xiàng)
當(dāng)使用兩位數(shù)字的年份輸入日期時(shí)需要非常小心。這么做時(shí),Excel有一些規(guī)則來(lái)確定使用的是哪一個(gè)世紀(jì),這取決于使用的Excel 版本。
00到29之間的兩位數(shù)年份會(huì)被識(shí)別為21世紀(jì)的日期,30到99會(huì)被識(shí)別為20世紀(jì)的日期。例如,輸入12/15/28,Excel會(huì)把它識(shí)別為2028年12月15日,如果輸入12/15/30,Excel會(huì)把它識(shí)別為1930年12月15日。這是因?yàn)閃indows使用2029年作為默認(rèn)分界年。用戶可以保持這個(gè)默認(rèn)值,也可以使用Windows控制面板來(lái)改變它。在Windows XP中,顯示“區(qū)域和語(yǔ)言選項(xiàng)”對(duì)話框,然后單擊“自定義”按鈕以顯示“自定義區(qū)域選工頁(yè)”對(duì)話框,在此對(duì)話框中選擇“日期”選項(xiàng)卡,然后指定一個(gè)不同的年份。該過(guò)程在不同的Windows 版本中可能會(huì)有所不同。