none
excel 疑似BUG --存在1900年2月29日(日历中无此日) RRS feed

  • 问题

  • 在使用公式计算日期到1900年1月1日的间隔天数时,发现:
    DATEVALUE("1900-2-28")  =59
    DATEVALUE("1900-2-29")  =60
    DATEVALUE("1900-2-30")  =#VALUE
    DATEVALUE("1900-3-1")  =61
    DATEVALUE("2010-3-29")=60266

    表明EXCEL 中存在1900-2-29 这一天,而实际这一天是不存在的。
    计算结果2010-3-29 到1900-1-1 有60266天也是错误的,应该60265天
    因此怀疑EXCEL中存在BUG
    2010年3月31日 11:50

答案

  • 这个是历史原因,Lotus-1-2-3的原始版本错误,认为1900年是闰年;在excel发布时,已经意识到这个错误,但没有修复,excel为了与lotus工作表文件兼容;据微软声称修改这个错误带来的坏处要比好处多;

    2010年4月3日 15:10

全部回复

  • 这不是疑似BUG,它就是BUG。

    不过好像要改就难了……

    好在这世上找不到1900年2月29日出生的人,否则还真是麻大烦了。


    在单元格里横行的……
    2010年4月1日 5:15
  • 这个是历史原因,Lotus-1-2-3的原始版本错误,认为1900年是闰年;在excel发布时,已经意识到这个错误,但没有修复,excel为了与lotus工作表文件兼容;据微软声称修改这个错误带来的坏处要比好处多;

    2010年4月3日 15:10
  • 在使用公式计算日期到1900年1月1日的间隔天数时,发现:
    DATEVALUE("1900-2-28")  =59
    DATEVALUE("1900-2-29")  =60
    DATEVALUE("1900-2-30")  =#VALUE
    DATEVALUE("1900-3-1")  =61
    DATEVALUE("2010-3-29")=60266

    表明EXCEL 中存在1900-2-29 这一天,而实际这一天是不存在的。
    计算结果2010-3-29 到1900-1-1 有60266天也是错误的,应该60265天
    因此怀疑EXCEL中存在BUG

    这个1900-2-29 的日期差错只是“DATEVALUE”函数的错误,在EXCEL中简单的日期相减如"2010-3-29"-"1900-1-1"就能计算出为40265天(而不是60266天)。超过1904年使用“DATEVALUE”函数计算天数还是准确的。
    2010年4月6日 15:50
  • 有BUG是正常滴。


    [url=http://www.cio6.com]ERP系统论坛[/url]
    2010年4月7日 2:47