我们汇总excel数据的时候,有些编号是一样的,只是字母有大小写的区分,怎么统计的时候区分大小写呢。
工具/原料
- excel2007
方法/步骤
-
打开excel,做一个货物量的数据表作为测试数据。我们按货物号统计货物量。
-
这里我们使用sumif函数
语法是:SUMIF(range,criteria,sum_range)
参数1:Range为条件区域,用于条件判断的单元格区域。
参数2:Criteria是求和条件。
参数3:Sum_range 为实际求和区域。
-
在F2单元格输入公式:=SUMIF(B2:B9,E2,C2:C9)
发现B001和b001货物号对应的货物量为两种编号对应货物量之和,显然这不是我们需要的数据。
-
我们发现sumif函数没有能够区分大小写,这里我们使用EXACT函数,帮助我们解决。
exact函数对比两个单元格中文本内容是否一致,如果一致返回TRUE,否则返回FALSE。
语法:
exact(text1,text2)
我们可以看到B001和b001对比返回了false。
-
我们现在使用=SUMPRODUCT函数进行统计。
SUMPRODUCT(array1,array2,array3, …)
Array1,array2,array3, …2 到 30 个数组,其相应元素需要进行相乘并求和。
如果只有array1,就是对这个数组求和了。
-
我们修改货物量对应的函数
=SUMPRODUCT(EXACT(B$2:B$13,E4)*C$2:C$13),先看一下效果吧。
-
可以看到已经达到我们需要的结果了,我们使用EXACT完成了大小写区分统计,那么我们来分析一下这个函数是怎么运作的。
=SUMPRODUCT(EXACT(B$2:B$13,E4)*C$2:C$13)
首先是EXACT 对 数据列与查询的单元格条件进行了对比,然后 * 实际统计的数据列。
excel中false和true * 数据会返回什么呢。我们输入 = TRUE*100,可以看到返回了100,TRUE看做1来处理了。
-
输入 =FALSE*100 又会返回什么呢。我们看到返回了0,所以FALSE在计算中被当做0处理了。
=SUMPRODUCT(EXACT(B$2:B$13,E4)*C$2:C$13)因此,这个公式在对C2:C13求和的时候,对符合条件的进行了求和,不符合条件的数据乘以了0,所以达到了我们的需求。