NETWORKDAYS.INTL

返回开始日期和结束日期之间的工作日数。有定义周末和节假日的选项。可选的周末参数 (或字符串) 可用于定义周末是哪几天 (即每周中的非工作日)。此外, 用户还可以选择定义假日列表。周末和用户定义的假日不计入工作日。

tip

This function is available since LibreOffice 4.3.


语法

NETWORKDAYS.INTL(StartDate; EndDate [; [ Weekend ] [; Holidays ] ])

开始日期」开始计算的日期。如果开始日期是一个工作日,则这一天也要计算在内。

结束日期」计算结束的日期。如果结束日期是一个工作日,则这一天也要计算在内。

周末」是一个可选参数 – 用于指定一周中的哪些天是周末, 不被视为工作日。「周末」是周末数字或字符串, 指定周末发生的时间。周末数字值表示以下周末:

数字 1 到 7 代表双休日,11 到 17 代表单休日。

数字

休息日

1 或忽略

周六与周日

2

周日与周一

3

周一与周二

4

周二与周三

5

周三与周四

6

周四与周五

7

周五与周六

11

仅周日

12

仅周一

13

仅周二

14

仅周三

15

仅周四

16

仅周五

17

仅周六


周末字符串提供了另一种定义每周非工作日的方法。它必须有七 (7) 个字符 – 工作日为零 (0), 非工作日为一 (1)。每个字符表示一周中的某一天, 从星期一开始。只有 1 和 0 是有效的。「1111111」是无效字符串, 不应使用。例如, 周末字符串「0000011」将星期六和星期日定义为非工作日。

假日」是必须计为非工作日的可选日期列表。该列表可以在单元格区域中给出。

note

将日期作为公式一部分输入时,日期分隔符 (斜杠与短横线) 会被理解为算术运算符。因此,按此格式输入的日期无法正确识别为日期,导致错误计算。要保持日期作为公式一部分,请使用 DATE 函数,例如「DATE(1954;7;20)」或将日期放在引号内,使用 ISO 8601 标记法,例如「1954-07-20」。请避免使用受区域影响的日期格式,例如「07/20/54」,在其他区域设置下加载文档,会导致计算错误。


tip

支持 ISO 8601 日期时间格式 (及其分隔符扩展格式) 的无歧义转换。如果出现「#VALUE!」错误,请在「 - LibreOffice Calc - 公式」「详细计算设置」区域的「详细信息...」 按钮,「文本转换为数字」列表框,取消选择「生成 #VALUE! 错误」。


示例

2016年12月15日至2017年1月14日期间有多少个工作日?令开始日期位于 C3, 结束日期位于 D3。单元格 F3 至 J3 包含五 (5) 个圣诞节和新年假期,格式为日期: 2016年12月24日;2016年12月25日;2016年12月26日;2016年12月31日; 以及2017年1月1日。

=NETWORKDAYS.INTL(C3;D3;;F3:J3)」返回 21 个工作日, 周末取默认设置。

=NETWORKDAYS.INTL(C3;D3;11;F3:J3)」返回 24 个工作日, 只有周日单休。

或者, 使用周末字符串「0000001」将星期日定义为每周的非工作日。

=NETWORKDAYS.INTL(C3;D3;「0000001」;F3:J3)」返回 24 个工作日, 只有周日单休。

该函数的两个可选参数 –「工作日」与「节假日」– 可以留空:

=NETWORKDAYS.INTL(C3;D3)」给出 22 个工作日。

请支持我们!