谷歌表格计算不含周日的日期间隔天数及空值处理方法
谷歌表格计算排除周日的有效天数实现方法
前置假设
- 开始日期时间存储在A列,结束日期时间存储在B列,计算结果写入C列
- 有效天数统计默认包含起止日期当天
最终公式
直接在C2单元格输入以下公式,下拉即可批量应用到整列:
=IF(A2="", NETWORKDAYS.INTL(TODAY(), TODAY(), 11), NETWORKDAYS.INTL(INT(A2), INT(B2), 11))
公式说明
NETWORKDAYS.INTL是谷歌表格专门用于计算自定义工作日区间天数的函数,第三个参数11代表仅将周日设为休息日,其余日期均计入有效天数INT()函数用于提取日期时间值的日期部分,忽略时分秒,避免因时间差不足24小时导致的日期统计误差- 当A列(开始日期)为空时,公式自动将起止日期都设为当日
TODAY(),返回1(符合含当日的统计要求)
示例验证
你给出的测试用例:
开始日期时间:
11/22/2021 15:20:43
结束日期时间:11/23/2021 14:51:29
两个日期均不属于周日,公式返回结果为2,符合预期。
可选调整(按实际需求选择)
如果要求时间差满24小时才算1天,可以使用调整后的公式:
=IF(A2="", 1, NETWORKDAYS.INTL(INT(A2), INT(B2)-(MOD(B2,1)<MOD(A2,1)), 11))
这个公式会在结束时间的时分秒小于开始时间的时分秒时,自动将结束日期减1天再统计。
内容的提问来源于stack exchange,提问作者naj
相关产品推荐
相关产品推荐

