WORKDAY.INTL

Returns the date calculated from a start date with a specific number of work days, before or after the start date. The calculation can include week-ends and holidays as non-working days.

tip

This function is available since LibreOffice 4.3.


语法

WORKDAY.INTL(StartDate; Days [; Weekend [; Holidays]])

StartDate: is the date from when the calculation is carried out.

天数」工作日天数。开始日期后的结果为正值,开始日期前的为负值。

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

数字 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月13日之后 20 个工作日是什么日期?在 C3 中输入开始日期, 在 D3 中输入工作日数。

周末参数 (数字) 可以留空, 或定义为 1,即 默认周末 (非工作日) – 星期六和星期日。

单元格 F3 至 J3 包含五 (5) 个圣诞节和新年假期的日期格式: 2016年12月24日; 2016年12月25日; 2016年12月26日; 2016年12月31日; 以及2017年1月1日。

=WORKDAY.INTL(C3;D3;;F3:J3)」在结果单元格中返回2017年1月11日, 如 D6 (单元格应使用日期格式)。

若要将星期五和星期六定义为周末, 请使用周末参数 7。

=WORKDAY.INTL(C3;D3;7;F3:J3)」周末参数为 7 时,返回 2017年1月15日。

若要仅定义星期日为休息日, 请使用周末参数 11。

=WORKDAY.INTL(C3;D3;11;F3:J3)」返回2017年1月9日。

或者, 使用周末字符串「0000001」表示只有星期日单休。

=WORKDAY.INTL(C3;D3;"0000001";F3:J3)」返回2017年1月9日。

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

=WORKDAY.INTL(C3;D3)」给出结果: 2017年1月10日。

请支持我们!