Excel 中非固定范围内的条件和

Conditional Sum in non fixed range in Excel

我会举个例子来说明这个问题。附件是 excel 节选的打印屏幕。

我想对 B 列中符合 2 个条件的数字求和(excel 中的绿色行)。第一个:F 列等于 "closed"。第二个:C 列等于那些符合以下条件的数字:F 列等于 "Partial Sold".

我尝试使用以下矩阵公式,但我只得到符合这些条件的总和:F 列等于 "closed",C 列等于“1”。

=SUMPRODUCT($D:$D,IF($F:$F="Closed",1,0),IF($C:$C=INDEX($C:$F,SMALL(IF($F:$F="Partial Sold",$C:$C),ROW(1:20)),1),1,0))

Excel Data: This is a print screen

您可以使用基于 SUM and INDEX with a second nested INDEX delivering the numbers from column C that match Partial Sold. Due to the array formula's cyclic calculation, you have to flip the nested conditional array with the TRANSPOSE function 的数组¹ 公式生成它,这样它就不会处理 in-line 和其他因素。

H4 中的数组¹ 公式为,

=SUM(INDEX(D3:D23*(F3:F23="Closed")*(C3:C23=TRANSPOSE(INDEX(C3:C23*(F3:F23="Partial Sold"), , ))), , ))

¹ 数组公式需要用Ctrl+Shift+Enter↵。一旦正确输入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试将 full-column 引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将参考范围缩小到最小值。有关详细信息,请参阅 Guidelines and examples of array formulas