谷歌工作表增加日计数与中断



我有一个谷歌工作表,它给了我一个动态的日增量。我现在使用的公式是:

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

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

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

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

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

示例:Google Sheets

我复制了表格(请参阅选项卡JPV_HELP(并在B3 中输入

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

在A2 中

=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列中输出。

看看这对你有用吗?

最新更新