WorksheetFunction.Days360 方法 (Excel)

按一年 360 天的算法(一年 12 个月,每月 30 天)返回两个日期之间的天数,它用于某些会计计算中。

语法

表达式Days360 (Arg1Arg2Arg3)

表达 一个代表 WorksheetFunction 对象的变量。

参数

名称 必需/可选 数据类型 说明
Arg1 - Arg2 必需 Variant 要知道两个日期之间天数的起止日期。 如果在 end_date (Arg2) 之后发生start_date (Arg1) , 则 Days360 返回负数。 日期应使用 DATE 函数输入,或者作为其他公式或函数的结果输入。
Arg3 可选 Variant 一个 布尔 值,该值指定是在计算中使用美国方法还是欧洲方法。

返回值

Double

备注

如果您的会计系统是基于一年 12 个月、每月 30 天,则可使用此函数帮助计算支付款项。

下表包含 Arg3 的值。

方法 定义
False 或省略 美国 (NASD) 方法。 如果起始日期是一个月的 31 号,则会等于同月的 30 号。 如果结束日期是一个月的 31 日,而开始日期早于一个月的 30 日,则结束日期将等于下个月的 1 号;否则,结束日期将等于同月 30 日。
True 欧洲方法。 发生在一个月的 31 号的起始日期和终止日期都将等于同月的 30 号。

警告

使用 Days360 函数计算两个日期之间的天数时,将返回意外值。 例如,使用开始日期为 2 月 28 日且结束日期为 3 月 28 日的 Days360 函数时,将返回值 28 天。 预计每整月返回 30 天的值。 若要解决此问题,请使用以下公式:

=DAYS360(start_date,end_date,IF(method=TRUE,TRUE,IF(AND(method=FALSE,MONTH(start_date)=2,DAY(start_date)>=28,MONTH(end_date)=2,DAY(end_date)>=28),TRUE,FALSE)))

Microsoft Excel 以序数形式存储日期以使其可用于计算。 默认情况下,1900 年 1 月 1 日的序数是 1;2008 年 1 月 1 日的序数是 39448,因为该日期距 1900 年 1 月 1 日有 39,448 天。 Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

注意

Visual Basic for Applications (VBA) 的串行日期的计算方式与 Excel 不同。 在 VBA 中,序列号 1 为 1899 年 12 月 31 日,而不是 1900 年 1 月 1 日。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。