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 被放置在字段中,它就会中断递增。我在想,也许我把这件事复杂化了或者做错了什么,但希望有人能帮我解决这个问题。
我复制了 sheet(参见选项卡 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列中输出。
看看这对你有用吗?
我有一个 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 被放置在字段中,它就会中断递增。我在想,也许我把这件事复杂化了或者做错了什么,但希望有人能帮我解决这个问题。
我复制了 sheet(参见选项卡 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列中输出。
看看这对你有用吗?