在 Google Sheets 中,如果你想要计算一个日期范围内的天数,但需要考虑中断(例如假期或周末),你可以使用一些内置函数来实现这一点。以下是一些常见的方法:
NETWORKDAYS
函数NETWORKDAYS
函数可以计算两个日期之间的工作日数,并且可以排除指定的假期。
NETWORKDAYS(start_date, end_date, [holidays])
start_date
: 开始日期end_date
: 结束日期[holidays]
: 可选参数,一个范围或数组,包含需要排除的假期假设你有以下数据:
A1
B1
C1:C5
你可以使用以下公式来计算工作日数:
=NETWORKDAYS(A1, B1, C1:C5)
NETWORKDAYS.INTL
函数NETWORKDAYS.INTL
函数提供了更多的灵活性,可以自定义哪些天是工作日,哪些天是周末。
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
start_date
: 开始日期end_date
: 结束日期[weekend]
: 可选参数,指定周末是哪几天。可以是一个字符串或一个数字。[holidays]
: 可选参数,一个范围或数组,包含需要排除的假期假设你有以下数据:
A1
B1
C1:C5
你可以使用以下公式来计算工作日数:
=NETWORKDAYS.INTL(A1, B1, 1, C1:C5)
如果你想自定义周末,例如周五和周六是周末,可以使用以下公式:
=NETWORKDAYS.INTL(A1, B1, "0000110", C1:C5)
在这个字符串中,每个字符代表一周中的一天,从周一到周日,0
表示工作日,1
表示周末。
如果你需要更复杂的逻辑,可以使用数组公式和其他函数来手动计算。例如,使用 ARRAYFORMULA
和 FILTER
函数。
假设你有以下数据:
A1
B1
C1:C5
你可以使用以下公式来计算工作日数:
=ARRAYFORMULA(SUM(IF((WEEKDAY(ROW(INDIRECT(A1&":"&B1)), 2) < 6) * ISNA(MATCH(ROW(INDIRECT(A1&":"&B1)), C1:C5, 0)), 1, 0)))
这个公式会生成一个日期范围,然后检查每个日期是否是工作日(周一到周五)并且不在假期列表中。
领取专属 10元无门槛券
手把手带您无忧上云