Excel 公式 - 每6天获取每个变量的总和

Excel formula - Get the sum of each variable every 6 days

我有以下数据集,我想每 6 天获取每个变量的总和。我可以使用

得到每 6 天的总和
=SUM(OFFSET($A,,(COLUMNS($A:A5)-1)*6,,6))

我可以使用

得到每个变量的总和
=SUMIF(A1:S1,A1,A2:S2)

但是我无法在6天的时间段内得到每个变量的总和。当我拖动公式时它不会增加。 所以结果应该是

      First batch      Second batch         Third batch
A      B       C      A      B       C      A      B       C
2      2       2      4      4       4      6      6       6

我建议您不要创建一个可以向右拖动的非常、非常、非常复杂的公式,而是建议您在顶部的数据中添加一行来标识批号。然后您可以将该批号用作 Sumifs() 中的附加参数。如果批号扰乱了您的电子表格设计,您可以隐藏带有批号的行。

=SUMIFS(3:3,1:1,A16,2:2,A17)

这比创建一个以三个和六个的分层步骤动态调整引用的公式要容易得多。

您可以使用 SUMPRODUCT:

=SUMPRODUCT((1:1=A6)*2:2*(COLUMN(1:1)>(INT((COLUMN()-1)/3)*6))*(COLUMN(1:1)<=(INT((COLUMN()-1)/3+1)*6)))

编辑:

要将列移动五位,您需要更改公式中的以下参数:

  1. 整行范围更改为精确范围,即 1:1 变为例如$F:$W
  2. COLUMN()-1更改为COLUMN()-3

如果您还想更改要求和的列数,另外将 6 的因子替换为 7-1 用于七列或 36-30 用于 thirty-six 列。

所以公式看起来像:

一批 6 列

=SUMPRODUCT(($F:$W=F6)*$F:$W*(COLUMN($F:$W)>=((INT((COLUMN()-3)/3))*6))*(COLUMN($F:$W)<((INT((COLUMN()-3)/3+1))*6)))

一批 7 列

=SUMPRODUCT(($F:$Z=F6)*$F:$Z*(COLUMN($F:$Z)>=((INT((COLUMN()-3)/3))*7-1))*(COLUMN($F:$Z)<((INT((COLUMN()-3)/3+1))*7-1)))

一批 36 列

=SUMPRODUCT(($F:$WW=F6)*$F:$WW*(COLUMN($F:$WW)>=((INT((COLUMN()-3)/3))*36-30))*(COLUMN($F:$WW)<((INT((COLUMN()-3)/3+1))*36-30)))