日常工作中,有时我们需要统计Excel表格中两列数据重复值个数,今天就跟大家分享一下2个场景下统计重复值个数的方法,实例图解,一学就会!
场景一:
如果下图所示,这是产品实际库存和理论库存,对两列数据中在同一行的2个数据比较是否相同,统计实际和理论库存一致商品数,其实就是统计重复值个数。
方法:
在目标单元格中输入公式:
=SUMPRODUCT(--(B2:B10=C2:C10))
然后点击回车即可
解读:
①公式中的(B2:B10=C2:C10)就是把表格中的“实际库存”与“理论库存”这2列数据比较每行数据是否相同,返回的结果是一个数组由逻辑值TRUE或者FALSE(备注:逻辑值TRUE可以看做1,逻辑值FALSE可以看做0)组成。
②前面添加双减号“--”,其实就是一个减负运算,可以将文本数字串或逻辑值转换为数值,就是把逻辑值TRUE转成数值1,把逻辑值FALSE转成数值0。
因为SUMPRODUCT函数会将非数值型的数组元素作为0 处理,所以我们要先转换,转换后再求和。
③、当然除了添加双减号“--”外,乘以1(备注:逻辑值TRUE乘以1就是1,辑值FALSE乘以1是0)或者用函数N()转换成数值,公式如下
公式=SUMPRODUCT((B2:B10=C2:C10)*1)
或者
公式=SUMPRODUCT(N(B2:B10=C2:C10))
场景二:
如下图所示,分别是“期中前10名”和“期末前10名”,我需要统计两次进入前10名人数,也就是统计重复值个数,只是这次不是两列数据每一行2个数据比较,而是对两列不同行数据进行统计重复值。
方法:
在目标单元格中输入公式:
=COUNT(MATCH(A2:A10,B2:B10,0))
然后点击回车获取数据即可
解读:
①首先使用MATCH(A2:A10,B2:B10,0),就是找出A列里面每一个人在B列中的位置,查找方式为0,即精确查找。比如说“李明”在B列位置是第6行,因为查找区域不包含第一行,所以实际返回5,其余的以此类推,而A列有的数据,B列没有,则会返回错误值#N/A。
最终返回结果是:{#N/A;5;6;1;2;3;#N/A;7;#N/A}
②然后再使用COUNT函数来统计上面说的数组中数字个数,这样就可以获得两列数据中重复值个数了。
评论 (0)