Excel 公式用于合并相邻行并计算和

Excel 公式用于合并相邻行并计算和

我有一个包含如下值的电子表格:

blah   1    12
       2    12
       3    12
foo    1     6
bar    1     2
foo    1     6
       2     5

中间列的数字范围是 1 到 8;右列的数字范围是 1 到 12。中间列始终按顺序排列,没有间隙,但可以在任何值之后重置回 1。左列在 1 行上始终有一个非空白(但不一定是唯一的)值,在 >1 行上有一个空白值。>1 行的值是通常与第一行相同,但并非总是如此(并且我不想假设它们是)。

我想为每一行添加一个带有单一公式的新列:

  • 如果第一个数字是 1,则将所有第二个数字相加直到下一行(但不包括下一行)为 1。
  • 如果第一个数字是其他数字,则输出 0。

即,上述数据所需的输出是:

36
 0
 0
 6
 2
11
 0

如果更简单的话,总和可以出现在每个子组的最高行,而不是第一行(尽管我绝对更喜欢它在第一行)。但必须保持行关系——它不能只输出 4 行。

或者,分组决策可以基于空白/非空白列而不是计数列;同样,如果这更容易的话。

答案1

假设您提供的表格位于 A1:C7,请在 D1 中向下复制:

=IF(B1=1,SUM(C1:INDEX(C1:C$1000,IFERROR(MATCH(TRUE,INDEX(B2:B$1000=1,,),0),MATCH(10^10,C:C)))),0)

如果需要,将 1000 调整为足够高的行数。

请注意,此解决方案假定 C 列中的值是数字,而不是以文本形式存储的数字。

相关内容