目录
索引 🔎︎

# WORKDAY.INTL

结果是一个可以格式化为日期的日期数字。用户可以看到距离开始日期 (之前或之后) 一定数量工作日的那天的日期。提供用于定义周末和节假日的选项。可选的周末参数 (或字符串) 可用于定义周末是哪几天 (即每周中的非工作日)。此外, 用户还可以选择定义假日列表。周末和用户定义的假日不计入工作日。

可使用此函数的最低 LibreOffice 版本为 4.3

### 语法

WORKDAY.INTL(StartDate; Days; 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」将星期六和星期日定义为非工作日。

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

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

支持 ISO 8601 日期时间格式 (及其分隔符扩展格式) 的无歧义转换。如果出现「#VALUE!」错误，请在「LibreOffice - 偏好设置工具 - 选项 - 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日。

相关主题

NETWORKDAYS

NETWORKDAYS.INTL

WORKDAY

日期函数