Google Sheet 增加中断的天数

Google Sheet Increment Day Count with Interruptions

我有一个 google sheet 给我一个动态的日增量。我现在使用的公式是:

=IF(ISTEXT(A1),1,IF(WEEKDAY(B2)=7,,IF(WEEKDAY(B2)=1,,INDEX(FILTER($A:A2,$A:A2<>""),COUNT(FILTER($A:A2,$A:A2<>"")))+1)))

第一部分 (ISTEXT) 检查上面的单元格是否有文本...恰好是 header 列。如果是,我们从 1 开始计数。之后,只要 B 列中的日期不是周末(星期六或星期日),它就会递增 +1。如果是,它将留空。然后,一旦再次到达星期一,它就会从停止的地方继续计数。

这为我提供了一种计算 20 个工作日时间表的动态方法。我可以输入开始日期,它会算出一个 20 天的工作日时间表,跳过周末。我正在尝试添加一种额外的机制,以将其他中断纳入工作日时间表,例如假期。我有一个列 (F),我在其中放置了注释。我想在原始公式中加入这样的内容:

=if(F2="Holiday","H",<do the other stuff>)

我遇到的问题是我在这个原始公式中所做的一切都是基于空格。一旦 H 被放置在字段中,它就会中断递增。我在想,也许我把这件事复杂化了或者做错了什么,但希望有人能帮我解决这个问题。

示例:Google Sheets

我复制了 sheet(参见选项卡 JPV_HELP)并输入了 B3

=sequence(eomonth(B2, 0)-B2, 1, B2+1, 1)

A​​2

=Arrayformula(if(C2:C<>"", regexreplace(C2:C, "[^A-Z]",), if( (weekday(B2:B) = 1)+(weekday(B2:B) = 7), ,countifs (weekday(B2:B), ">1", weekday(B2:B), "<7", C2:C, "", row(B2:B), "<="&row(B2:B)))))

如果在C列中输入任何内容,公式将提取大写字母以在A列中输出。

看看这对你有用吗?