首页 > 解决方案 > Excel 仅对列表中的单个或第一个重复值求和

问题描述

我在网上找到了一个 Excel 公式,它给出了所需的结果,但我不完全理解它是如何工作的。这是=SUMPRODUCT(B1:B9/COUNTIF(A1:A9,A1:A9))并且结果129适用于以下数据(它在B数据的列中添加了单个出现,13 + 24 + 92 = 129这是所需的结果)。

Row  A  B
1    1  13
2    1  13
3    1  13
4    1  13
5    3  24
6    3  24
7    3  24
8    12 92
9    12 92

我知道COUNTIF(A1:A9,A1:A9)正在创建一个数组{4;4;4;4;3;3;3;2;2),但我不知道范围B1:B9分子是如何创建结果的。如果分子是数字“1”(即公式改为=SUMPRODUCT(1/COUNTIF(A1:A9,A1:A9)),结果是3,我认为是作为总和计算出来的1/4 + 1/4 + 1/4 + 1/4 + 1/3 + 1/3 + 1/3 + 1/2 + 1/2。那么当B1:B9公式中的 是如何逐步计算出来的呢?

标签: excelcountif

解决方案


你自己非常接近答案。给定您的示例,您有两个数组:第一个是 B 列中的数字,另一个是 A 列中 countif 中的数字:{13;13;13;13;24;24;24;92;92} 和 {4 ;4;4;4;3;3;3;2;2}

在 sumproduct 公式中,您有除法,因此您将数组除法:{13/4; 13/4;13/4;13/4;24/3;24/3;24/3;92/2;92/2},这些数字的总和是:3,25 + 3,25 + 3,25 + 3,25 + 8 + 8 + 8 + 46 + 46 = 129

还有神奇的数字:-)


推荐阅读