Google 工作表公式 - 从每行的过滤日期中获取总计(未定义的列数)

Google Sheets Formula - Get Total from filtered dates per row (undefined number of columns)

我在 Google 工作表中有这些数据,我需要在其中获取每行过滤数据列的总数。日期列不是固定的(可能会随着时间的推移而增加,我已经知道如何处理这个未定义的列数)。我目前遇到的挑战是如何根据筛选的日期列有效地获取每个用户的总计摘要。

我的数据是这样的:

我的预期结果是这样的:

我目前的想法是这样的:

这是一个示例电子表格以供参考: https://docs.google.com/spreadsheets/d/1_dByPabStGQvh94TabKxwFeUyVaRFnkBCRf4ioTY5jM/edit?usp=sharing

这是一种逆透视数据的方法,因此您可以使用它

=ARRAYFORMULA(
  QUERY(
   IFERROR(
    SPLIT(
     FLATTEN(
      IF(ISBLANK(A2:A),,A2:A&"|"&B1:G1&"|"&B2:G)),
     "|")),
   "select Col1, Sum(Col3)
    where
     Col2 >= "&DATE(2022,1,1)&" and
     Col2 <= "&DATE(2022,1,15)&"
    group by Col1
    label
     Col1 'Person',
     Sum(Col3) 'Total'"))

基本上,它会创建 User1|44557|8 的输出——然后将其全部展平并按管道拆分,从而为您提供三个干净的列。

运行 通过日期之间的人对 SUM 的查询,你得到了你想要的东西。如果您想对日期使用单元格引用,只需将日期替换为单元格引用即可。

要扩展 table,请更改 B1:G1 和 B2:G2 以匹配范围的宽度。