excelperfect 有时,我们要知道一组数据在另一组数据中出现的次数。例如,下图1所示的数据,我们想知道单元格区域H1:K1中的数据在单元格区域A1:D20中出现了几次。 图1 因为数据较少,很明显,我们可以看出这组数据共出现了6次,忽略数据的顺序。 如何使用公式得到这个结果呢? 对于1,1,1,2这组数,1在其中出现了3次,3个1共9次;2在其中出现了1次,这样这四个数字在这组数中出现的次数之和为3+3+3+1=10次。 可以使用数组公式得到这个结果: =SUM(COUNTIF(H1:K1,H1:K1)) 返回10。 如果我们将单元格区域A1:D20中的每个数字依次在H1:K1中进行查找: COUNTIF(H1:K1,A1:D20) 那么,在A1:D20中符合H1:K1中数字的行将生成数组{3,3,3,1}: {3,0,0,0; 0,1,0,0; 3,3,3,1; 3,0,3,3; 3,0,0,1; 0,3,0,0; 1,3,1,1; 0,1,3,1; 1,3,3,3; 3,3,3,1; 0,0,0,0; 0,0,0,0; 0,1,1,1; 1,1,0,3; 3,3,1,3; 1,0,0,1; 3,1,3,3; 3,1,0,0; 0,1,0,1; 3,3,1,3} 行中数的和为10,表明单元格区中的该行与H1:K1中的数相同: MMULT(COUNTIF(H1:K1,A1:D20),{1;1;1;1})=10 这样,有多少个10就表明有多少行与H1:K1中的数字相同: SUM(--(MMULT(COUNTIF(H1:K1,A1:D20),{1;1;1;1})=10)) 使用双减号将TRUE/FALSE转换成1/0,然后求和,得到结果。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
|
|
来自: hercules028 > 《excel》