尝试:
=INDEX({QUERY(QUERY(SPLIT(FLATTEN(IF(ISDATE_STRICT(E4:I19),
E4:I19&"×"&B4:B19&"×"&SEQUENCE(1, 5), ), "0×a×"&SEQUENCE(5)), "×"),
"select Col1,Col2,count(Col2)
where Col2 is not null
group by Col1,Col2
pivot Col3"),
"offset 2", 0); "Grand Total", "",
TRANSPOSE(MMULT(TRANSPOSE(N(ISDATE_STRICT(E4:I19))), ROW(B4:B19)^0))})
或:
=INDEX({SORT({QUERY(QUERY(SPLIT(FLATTEN(IF(ISDATE_STRICT(E4:I19),
E4:I19&"×"&B4:B19&"×"&SEQUENCE(1, 5), ), "0×a×"&SEQUENCE(5)), "×"),
"select Col1,Col2,count(Col2)
where Col2 is not null
group by Col1,Col2
pivot Col3"),
"offset 2", 0); QUERY(QUERY(SPLIT(FLATTEN(IF(ISDATE_STRICT(E4:I19),
E4:I19&"×"&SEQUENCE(1, 5), ), "0×"&SEQUENCE(5)), "×"),
"select Col1,'Total',count(Col1)
where Col1 is not null
group by Col1
pivot Col2"),
"offset 2", 0)}); "Grand Total", "",
TRANSPOSE(MMULT(TRANSPOSE(N(ISDATE_STRICT(E4:I19))), ROW(B4:B19)^0))})
或按您的要求:
={"Date Sourced", B3, E3:I3;
INDEX({SORT({QUERY(QUERY(SPLIT(FLATTEN(IF(ISDATE_STRICT(E4:I),
E4:I&"×"&B4:B&"×"&SEQUENCE(1, 5), ), "0×a×"&SEQUENCE(5)), "×"),
"select Col1,Col2,count(Col2)
where Col2 is not null group by Col1,Col2 pivot Col3"),
"offset 2", 0); QUERY(QUERY(SPLIT(FLATTEN(IF(ISDATE_STRICT(E4:I),
E4:I&"×"&SEQUENCE(1, 5), ), "0×"&SEQUENCE(5)), "×"),
"select Col1,'Total',count(Col1)
where Col1 is not null group by Col1 pivot Col2"),
"offset 2", 0)}); "Grand Total", "",
TRANSPOSE(MMULT(TRANSPOSE(N(ISDATE_STRICT(E4:I))), ROW(B4:B)^0))})}