你可以这样做来添加标签
=ArrayFormula(query({hlookup(weekday(A:A),{1,2,3,4,5,6,7;"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"},2,false),B:B},"select Col1,avg(Col2) group by Col1 label Col1 'Day'"))
C 列中的日期数字仅用于检查。
如果缺少任何日期,您需要忽略它们,否则它们将被视为星期六...
=ArrayFormula(query({A:A,hlookup(weekday(A:A),{1,2,3,4,5,6,7;"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"},2,false),B:B},"select Col2,avg(Col3) where Col1 is not null group by Col2 label Col2 'Day'"))
编辑
好的,这是实际要求的答案,即每个工作日的持续时间总和除以该工作日的唯一日期数。
=ArrayFormula(query({query({C2:C,weekday(C2:C),choose(weekday(C2:C),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"),E2:E},"select Col3,sum(Col4) where Col1 is not null group by Col2,Col3"),
query({unique(C2:C),weekday(unique(C2:C))},"select count(Col2) where Col1 is not null group by Col2")},"Select Col1,Col2/Col3 label Col1 'Day',Col2/Col3 'Average'"))
注意事项
(1) 基于唯一日期的组数与基于重复日期的组数完全相同。
(2) 为了以正确的顺序(星期日、星期一、星期二...)获取日期名称,我将工作日编号(1-7)分组,然后是工作日名称(第一个内部查询中的 Col2、Col3)。除了仅使用 Col3 之外,这不会创建更多组,但具有将日期按工作日编号顺序而不是工作日名称(字母顺序)顺序的效果,同时仍允许您将 Col3(工作日名称)放入选择列表中。
(3) 包含了@ttarchala 的建议,即使用 Choose 而不是 Hlookup。