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
Google sheets 我如何制作一个谷歌工作表(或Excel)甘特图,其中一些工作日(不一定在周末)不是完整的工作日?_Google Sheets_Formula_Gantt Chart - Fatal编程技术网

Google sheets 我如何制作一个谷歌工作表(或Excel)甘特图,其中一些工作日(不一定在周末)不是完整的工作日?

Google sheets 我如何制作一个谷歌工作表(或Excel)甘特图,其中一些工作日(不一定在周末)不是完整的工作日?,google-sheets,formula,gantt-chart,Google Sheets,Formula,Gantt Chart,我试图制作一个动态甘特图,考虑到我的一些工作日不是完整的工作日。例如,如果周五和周六都是半个工作日,周日是非工作日,那么从周一开始的三个工作日的任务将在周三完成。但如果同样的任务在星期五开始,它将在连续的星期二完成。因此,相同的三个完整工作日任务可以在甘特图上填充三到五天 如何在Google工作表(或Excel)甘特图上动态执行此操作?我是否可以创建一个函数来接收任务的开始日期,考虑我的所有约束条件(例如,星期五是半天),并计算甘特图中应填写多少天 是否可以使用更高的分辨率,比如1/3工作日的子

我试图制作一个动态甘特图,考虑到我的一些工作日不是完整的工作日。例如,如果周五和周六都是半个工作日,周日是非工作日,那么从周一开始的三个工作日的任务将在周三完成。但如果同样的任务在星期五开始,它将在连续的星期二完成。因此,相同的三个完整工作日任务可以在甘特图上填充三到五天

  • 如何在Google工作表(或Excel)甘特图上动态执行此操作?我是否可以创建一个函数来接收任务的开始日期,考虑我的所有约束条件(例如,星期五是半天),并计算甘特图中应填写多少天
  • 是否可以使用更高的分辨率,比如1/3工作日的子单元
  • 附件:
    这是我提出的一个公式,它将为您提供从开始日期到右侧的累计“半天”单位。这使得创建条件格式以突出显示项目长度内的单元格变得简单

    =ARRAYFORMULA(IF(B4="",,MMULT(N(VLOOKUP(TEXT(F$2:$2,"dddd"),'day guide'!B$3:D$9,3,0)*(F$2:$2>=B4)),N(F$2:$2>=TRANSPOSE(F$2:$2)))))
    
    我将无限期地把这张表留给其他人学习。

    F2中的公式:

    D4中的公式:

    E4中的公式:
    =索引(值(F1和“1/2021”)-1+转置(查询({
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择列1+0”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择Col1+Col2”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择Col1+Col2+Col3”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择Col1+Col2+Col3+Col4”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择Col1+Col2+Col3+Col4+Col5”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择Col1+Col2+Col3+Col4+Col5+Col6”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择Col1+Col2+Col3+Col4+Col5+Col6+Col7”),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择”&文本连接(“+”,1,“列”和行(1:8)),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择”&文本连接(“+”,1,“列”和行(1:9)),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择”&文本连接(“+”,1,“列”和行(1:10)),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择”&文本连接(“+”,1,“列”和行(1:11)),
    查询(如果(N)(IFNA(拆分)(报告(10,天)(间接(“B4:B”)和最大值(行(B:B)*(B:B)”))))-1),0)*
    转置(行)(
    间接(“1:”&天(EOMONTH(F1和“1/2021”,0)))^0)=0,0,
    转置(查询({D12:D18;D12:D18;D12:D18;D12:D18;D12:D18;D12:D18}),
    “限额”和日(月(F1和2021年1月),0)和
    偏移量“&匹配(文本(F1和“1/2021”,“dddd”),C12:C18,0)-1)),
    “选择”&TEXTJOI
    
    =INDEX(TRANSPOSE(LEFT(TEXT(ROW(INDIRECT(1*(F1&"1/2021")&":"&
     EOMONTH(1*(F1&"1/2021"), ))), {"d", "ddd"}), {2, 1})))
    
    =QUERY(B4:B, "where B is not null format B 'dddd'")
    
    =INDEX(VALUE(F1&"1/2021")-1+TRANSPOSE(QUERY(TRANSPOSE(IFNA(IF(QUERY({
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+0"),
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+Col2"),
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+Col2+Col3"),
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+Col2+Col3+Col4"),
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+Col2+Col3+Col4+Col5"),
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+Col2+Col3+Col4+Col5+Col6"), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select Col1+Col2+Col3+Col4+Col5+Col6+Col7"), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:8))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:9))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:10))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:11))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:12))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:13))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:14))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:15))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:16))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:17))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:18))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:19))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:20))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:21))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:22))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:23))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:24))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:25))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))),
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:26))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))), 
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:27))), 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))), 
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:28))), 
     IF(DAY(EOMONTH(F1&"1/2021", 0))>=29, 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))), 
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:29))), 
     IFERROR(1/(0^ROW(INDIRECT("3:"&MAX(ROW(A:A)*(A:A<>""))))))), 
     IF(DAY(EOMONTH(F1&"1/2021", 0))>=30,  
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))), 
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:30))), 
     IFERROR(1/(0^ROW(INDIRECT("3:"&MAX(ROW(A:A)*(A:A<>""))))))), 
     IF(DAY(EOMONTH(F1&"1/2021", 0))>=31, 
     QUERY(IF(N(IFNA(SPLIT(REPT(10, DAY(INDIRECT("B4:B"&MAX(ROW(B:B)*(B:B<>""))))-1), 0)*
     TRANSPOSE(ROW(
     INDIRECT("1:"&DAY(EOMONTH(F1&"1/2021", 0))))^0))=0)=0, 0, 
     TRANSPOSE(QUERY({D12:D18; D12:D18; D12:D18; D12:D18; D12:D18; D12:D18}, 
     "limit "&DAY(EOMONTH(F1&"1/2021", 0))&" 
      offset "&MATCH(TEXT(F1&"1/2021", "dddd"), C12:C18, 0)-1))), 
     "select "&TEXTJOIN("+", 1, "Col"&ROW(1:31))), 
     IFERROR(1/(0^ROW(INDIRECT("3:"&MAX(ROW(A:A)*(A:A<>"")))))))}, 
     "offset 1 ", 0)>C4:C,,F2:AJ2))*1), 
     "select "&TEXTJOIN(",", 1, 
     "max(Col"&ROW(INDIRECT("4:"&MAX(ROW(A:A)*(A:A<>""))))-ROW(A3)&")"))),, 2)
    
    =($A4<>"")*(DAY($B4)<=(F$2*1))*(DAY($E4)>=(F$2*1))
    
    =and(F$2>=$B4,SUMPRODUCT(vlookup(text($F$2:F$2,"dddd"),indirect("'day guide'!$B$3:$D$9"),3,false)*($F$2:F$2>=$B4))<=$C4)
    
    =ArrayFormula(min(if((countifs(vlookup(text(F$2:AJ$2,"dddd"),'day guide'!$B$3:$D$9,3,false),1,column(F$2:AJ$2),"<="&column(F$2:AJ$2),F$2:AJ$2,">="&$B4)
    +countifs(vlookup(text(F$2:AJ$2,"dddd"),'day guide'!$B$3:$D$9,3,false),2,column(F$2:AJ$2),"<="&column(F$2:AJ$2),F$2:AJ$2,">="&$B4)*2)>=C4,F$2:AJ$2,)))