首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Google Sheet Increment Day Count with Interruptions

在 Google Sheets 中,如果你想要计算一个日期范围内的天数,但需要考虑中断(例如假期或周末),你可以使用一些内置函数来实现这一点。以下是一些常见的方法:

方法 1: 使用 NETWORKDAYS 函数

NETWORKDAYS 函数可以计算两个日期之间的工作日数,并且可以排除指定的假期。

语法

代码语言:javascript
复制
NETWORKDAYS(start_date, end_date, [holidays])
  • start_date: 开始日期
  • end_date: 结束日期
  • [holidays]: 可选参数,一个范围或数组,包含需要排除的假期

示例

假设你有以下数据:

  • 开始日期在单元格 A1
  • 结束日期在单元格 B1
  • 假期列表在范围 C1:C5

你可以使用以下公式来计算工作日数:

代码语言:javascript
复制
=NETWORKDAYS(A1, B1, C1:C5)

方法 2: 使用 NETWORKDAYS.INTL 函数

NETWORKDAYS.INTL 函数提供了更多的灵活性,可以自定义哪些天是工作日,哪些天是周末。

语法

代码语言:javascript
复制
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
  • start_date: 开始日期
  • end_date: 结束日期
  • [weekend]: 可选参数,指定周末是哪几天。可以是一个字符串或一个数字。
  • [holidays]: 可选参数,一个范围或数组,包含需要排除的假期

示例

假设你有以下数据:

  • 开始日期在单元格 A1
  • 结束日期在单元格 B1
  • 假期列表在范围 C1:C5
  • 周末是周六和周日(默认)

你可以使用以下公式来计算工作日数:

代码语言:javascript
复制
=NETWORKDAYS.INTL(A1, B1, 1, C1:C5)

如果你想自定义周末,例如周五和周六是周末,可以使用以下公式:

代码语言:javascript
复制
=NETWORKDAYS.INTL(A1, B1, "0000110", C1:C5)

在这个字符串中,每个字符代表一周中的一天,从周一到周日,0 表示工作日,1 表示周末。

方法 3: 手动计算

如果你需要更复杂的逻辑,可以使用数组公式和其他函数来手动计算。例如,使用 ARRAYFORMULAFILTER 函数。

示例

假设你有以下数据:

  • 开始日期在单元格 A1
  • 结束日期在单元格 B1
  • 假期列表在范围 C1:C5

你可以使用以下公式来计算工作日数:

代码语言:javascript
复制
=ARRAYFORMULA(SUM(IF((WEEKDAY(ROW(INDIRECT(A1&":"&B1)), 2) < 6) * ISNA(MATCH(ROW(INDIRECT(A1&":"&B1)), C1:C5, 0)), 1, 0)))

这个公式会生成一个日期范围,然后检查每个日期是否是工作日(周一到周五)并且不在假期列表中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • CICD实战——服务自动测试

    随着微服务、容器、云计算的发展,近些年 DevOps、CI/CD 等概念越来越多地映入大家的眼帘。许多开发团队都希望应用这些理念来提高软件质量和开发效率,工欲善其事必先利其器,什么样的工具才能够满足开发者的需求?TARS 作为一套优秀的开源微服务开发运营一体化平台,拥有多语言、高性能、敏捷研发、高可用等特点。那么 TARS 是否能够完美支持 DevOps 理念呢?在上一篇文章中,我们了解了如何将开源 CI 工具 Jenkins 与 TARS 集成实现 TARS 服务的自动化构建与部署。而软件测试是软件开发过程中必不可少的一步,本文将在上一篇文章的基础上,以一次完整的实践来展示如何通过 Jenkins 与 TARS 集成实现 TARS 服务的自动化单元测试。

    04
    领券