多列去重排列,这个方法你一定要学会!
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
今天和大家分享一则不相邻多列去重的问题。
表格的左侧是若干个业务员的业绩,要求统计出每一个业务员的总业绩。
思考十秒钟......
我们之前曾多次介绍过如何进行多列的去重操作。小伙伴们还记得吗?
在单元格F2中输入公式“=INDIRECT(TEXT(RIGHT(SMALL(IF(($A$2:$D$9>"")*($A$1:$D$1=$F$1)-COUNTIF($F$1:F1,$A$2:$D$9),ROW($A$2:$D$9)/1%+COLUMN($A:$D)*10001),ROW($A$1)),4),"r0c00"),)”,三键回车并向下拖曳即可。
思路:
($A$2:$D$9>"")部分,是选取源数据中的非空部分。当然,本例中的源数据中没有空格等其它字符。有关这方面的介绍,请参看帖子数字、文本、逻辑值和“”,排排队,比大小
($A$1:$D$1=$F$1)部分,是选定源数据中的文本部分。这个比较简单,不再多说
COUNTIF($F$1:F1,$A$2:$D$9)部分,是本题的题眼,它可以实现去重的目的。以上三部分作为IF函数的逻辑判断。它的含义是,在符合条件的源数据区域中减去在F列已经查找到的数据,从而实现了去重
当条件满足时,返回ROW($A$2:$D$9)/1%+COLUMN($A:$D)*10001部分。这部分实际上是将行号扩大100倍,列标扩大10001倍。之前有多次介绍,这里不再多说了
利用SMALL函数始终提取最小值
利用RIGHT函数提取右侧四位数字
利用TEXT函数将其转换为“R0C00”格式
利用INDIRECT函数提取正确值
这个思路还是有些难度的,小伙伴们如有任何疑问可以私信我哦!
接下来我们一起来看看如何计算总业绩。其实,我们可以利用SUM/SUMPRODUCT函数来计算,但是今天我要向大家介绍另外一种方法。
在单元格G2中输入公式“=SUMIF($A$2:$C$9,F2,$B$2:$D$9)”并向下拖曳即可。
这里使用的SUMIF函数的错列求和技巧。详细的介绍,请参看帖子总结篇--SUMIF函数实用终极帖和这个都不会,不敢说会使用SUMIF函数
好了,今天和大家分享的就是这些了
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”
注意!前方有红包挡道!速点阅读原文消灭之!