2

只是好奇是否可以从 excel 中的 sum 或 sumif 公式获得溢出范围输出。给定一个二维数组,我想对一些行求和,但保留列。我担心的是,一旦将 sum 或 sumif 添加到溢出公式(序列、过滤器等),就会失去溢出效应。我这样做的兴趣是在输入表更改大小时保持表自动更新。

一张图片可能最好地描述了这一点:我的表有一些重复标签的行;我想将它们折叠到具有唯一行标签的较短表格中。例如,B 行和 D 行重复,这些行应该在最终输出中求和。(此处示例中的输出是手动完成的,我在输出的每一行/列中执行 sumif。)

非常感谢!

示例图像

4

1 回答 1

0

MAKEARRAYLAMBDA功能是可能的。

公式如下:

=MAKEARRAY(
   ROWS(F3#),
   COLUMNS(G2#),
   LAMBDA(
      r,
      c,
      SUM(
          B3:D10 * 
          --(A3:A10=INDEX(F3#,r)) * 
          --(B2:D2=INDEX(G2#,1,c))
      )
   )
)

该公式通过前两个参数和(注意和)MAKEARRAY跨越具有所需行数和列数的数组。ROWS(F3#)COLUMNS(G2#)F3# = F3:F8G2# = G2:I2

的第三个参数MAKEARRAY接受函数并为其前两个参数LAMBDA提供行数r和列数。c

的第三个参数在LAMBDA这里使用SUM函数来模拟SUMIFS计算。它有三个因素:

  1. 数据范围B3:D10
  2. 行条件--(A3:A10=INDEX(F3#,r))
  3. 列条件--(B2:D2=INDEX(G2#,1,c)) 2) 和 3) 中的条件在适用与否时会产生 1 或 0。因此,SUM计数匹配的值和不匹配的 0。此外,2)和3)中的公式是使用行号r和列号cINDEX获取条件值的。

使用 MAKEARRAY 和 LAMBDA 创建 2d 溢出 sumifs

用于创建 2d 溢出 sumif 的公式

于 2022-02-15T08:00:52.520 回答