WorksheetFunction.Days360 方法 (Excel)
按一年 360 天的算法(一年 12 个月,每月 30 天)返回两个日期之间的天数,它用于某些会计计算中。
语法
表达式。Days360 (Arg1、 Arg2、 Arg3)
表达 一个代表 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。