Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 开始和结束日期数组,其中继续的开始日期=上一个结束日期+;1个工作日_Date_Google Sheets_Google Sheets Formula_Array Formulas_Google Sheets Query - Fatal编程技术网

Date 开始和结束日期数组,其中继续的开始日期=上一个结束日期+;1个工作日

Date 开始和结束日期数组,其中继续的开始日期=上一个结束日期+;1个工作日,date,google-sheets,google-sheets-formula,array-formulas,google-sheets-query,Date,Google Sheets,Google Sheets Formula,Array Formulas,Google Sheets Query,是否可以使用单个公式为每个任务创建两列日期(开始和结束),其中仅包含初始开始日期和天数?我可以向下拖动公式,但如果可能的话,我更愿意使用数组公式的灵活性 我有一个任务列表(这将是不断变化的),每项任务需要多少天才能完成。我也有一个明确的开始日期。我可以使用WORKDAY =ArrayFormula(IF(LEN(B2:B),WORKDAY.INTL(C2:C-1,B2,6,),)) ,但尝试自动填充下一个开始日期总是导致循环引用 =ArrayFormula(WORKDAY.INTL(C2:C,

是否可以使用单个公式为每个任务创建两列日期(开始和结束),其中仅包含初始开始日期和天数?我可以向下拖动公式,但如果可能的话,我更愿意使用
数组公式的灵活性

我有一个任务列表(这将是不断变化的),每项任务需要多少天才能完成。我也有一个明确的开始日期。我可以使用
WORKDAY

=ArrayFormula(IF(LEN(B2:B),WORKDAY.INTL(C2:C-1,B2,6,),))
,但尝试自动填充下一个开始日期总是导致循环引用

=ArrayFormula(WORKDAY.INTL(C2:C,B2:B,6,))
下一个问题是
WORKDAY
函数的[weekend]变量。由于我的以下开始日期并不总是在同一天,“6”并不总是准确的,导致周末在无意中显示为有效工作日


为什么不这样做:

粘贴在单元格D2中

=ARRAYFORMULA(FILTER(
 QUERY(TO_DATE(ROW(INDIRECT(DATEVALUE(C2)&":"&DATEVALUE(C2)+SUM(B2:B)*2))), 
 "where not dayofweek(Col1) matches '1|7'"), 
 IF(REGEXMATCH(TO_TEXT(ROW(INDIRECT("A1:A"&COUNTA(
 QUERY(TO_DATE(ROW(INDIRECT(DATEVALUE(C2)&":"&DATEVALUE(C2)+SUM(B2:B)*2))), 
 "where not dayofweek(Col1) matches '1|7'"))))), "^"&JOIN("$|^", 
 IF(A2:A="",,MMULT(TRANSPOSE((ROW(A2:A)<=TRANSPOSE(ROW(A2:A)))*(B2:B)), 
 SIGN(B2:B))))&"$"), "♀", )="♀"))
=ARRAYFORMULA(IF(A3:A="",,FILTER(
 QUERY(TO_DATE(ROW(INDIRECT(DATEVALUE(C2)&":"&DATEVALUE(C2)+SUM(B2:B)*2))), 
 "where not dayofweek(Col1) matches '1|7'"), 
 IF(REGEXMATCH(TO_TEXT(ROW(INDIRECT("A1:A"&COUNTA(
 QUERY(TO_DATE(ROW(INDIRECT(DATEVALUE(C2)&":"&DATEVALUE(C2)+SUM(B2:B)*2))), 
 "where not dayofweek(Col1) matches '1|7'"))))), "^"&JOIN("$|^", 
 IF(A2:A="",,MMULT(TRANSPOSE((ROW(A2:A)<=TRANSPOSE(ROW(A2:A)))*(B2:B)), 
 SIGN(B2:B))+1))&"$"), "♀", )="♀")))
=数组公式(过滤器(
查询(截止日期(行(间接(日期值(C2)和):“&DATEVALUE(C2)+和(B2:B)*2)),
“如果dayofweek(Col1)与'1 | 7'不匹配,
IF(REGEXMATCH)TO_TEXT(行(间接)(“A1:A”)和COUNTA(
查询(截止日期(行(间接(日期值(C2)和):“&DATEVALUE(C2)+和(B2:B)*2)),
“如果dayofweek(Col1)不匹配'1 | 7'”、“| |”)、“^”和“JOIN”($| ^”,

如果(A2:A=“”,MMULT(TRANSPOSE)((第(A2:A)行)这样做效果很好!是否可以使用类似于
WORKDAY
的假日列表?
=ARRAYFORMULA(FILTER(
 QUERY(TO_DATE(ROW(INDIRECT(DATEVALUE(C2)&":"&DATEVALUE(C2)+SUM(B2:B)*2))), 
 "where not dayofweek(Col1) matches '1|7' and not Col1 matches '"&
 TEXTJOIN("|", 1, H2:H)&"'"), 
 IF(REGEXMATCH(TO_TEXT(ROW(INDIRECT("A1:A"&COUNTA(
 QUERY(TO_DATE(ROW(INDIRECT(DATEVALUE(C2)&":"&DATEVALUE(C2)+SUM(B2:B)*2))), 
 "where not dayofweek(Col1) matches '1|7' and not Col1 matches '"&
 TEXTJOIN("|", 1, H2:H)&"'"))))), "^"&JOIN("$|^", 
 IF(A2:A="",,MMULT(TRANSPOSE((ROW(A2:A)<=TRANSPOSE(ROW(A2:A)))*(B2:B)), 
 SIGN(B2:B))))&"$"), "♀", )="♀"))