Google sheets 我如何制作一个谷歌工作表(或Excel)甘特图,其中一些工作日(不一定在周末)不是完整的工作日?
我试图制作一个动态甘特图,考虑到我的一些工作日不是完整的工作日。例如,如果周五和周六都是半个工作日,周日是非工作日,那么从周一开始的三个工作日的任务将在周三完成。但如果同样的任务在星期五开始,它将在连续的星期二完成。因此,相同的三个完整工作日任务可以在甘特图上填充三到五天Google sheets 我如何制作一个谷歌工作表(或Excel)甘特图,其中一些工作日(不一定在周末)不是完整的工作日?,google-sheets,formula,gantt-chart,Google Sheets,Formula,Gantt Chart,我试图制作一个动态甘特图,考虑到我的一些工作日不是完整的工作日。例如,如果周五和周六都是半个工作日,周日是非工作日,那么从周一开始的三个工作日的任务将在周三完成。但如果同样的任务在星期五开始,它将在连续的星期二完成。因此,相同的三个完整工作日任务可以在甘特图上填充三到五天 如何在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,)))