送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
【置顶公众号】或者【设为星标】及时接收更新不迷路
小伙伴们好,今天要和大家分享一道关于数据重排的问题。题目如下:
题目要求按照第三行出现次数的多少对第二行的数据进行排序。
如果你能够使用新版函数,那么这道题目就非常简单。
但是如果你还不能使用新函数,那么就一起来看看看下面吧。
由于今天要写的这个公式有点特殊,我们需要现在源数据的最左侧插入一列。
在单元格B7中输入公式“=MIN(IF((LARGE($B$3:$Q$3,COLUMN(A:A))=$B$3:$Q$3)-COUNTIF($A$7:A7,$B$2:$Q$2)<=0,10^9,($B$2:$Q$2)))”,三键回车并向右拖曳即可。
思路:
LARGE($B$3:$Q$3,COLUMN(A:A))部分,首先找到源数据中最大值(随着公式向右拖曳,会依次找到第二大、第三大等等)
(LARGE($B$3:$Q$3,COLUMN(A:A))=$B$3:$Q$3)部分,看源数据中有哪些值等于提取出来的这个最值。返回的结果是一组由TRUE和FALSE组成的内存数组
COUNTIF($A$7:A7,$B$2:$Q$2)这部分,目的是要将已经提取到的数字从源数据中排除掉,方便提取后面其它的数字。例如,当前单元格区域是$A$7:A7,由于它里面没有数据,因此COUNTIF统计的结果是{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},当公式拖曳到单元格C7时,单元格区域$A$7:A7变为$A$7:B7,COUNTIF统计的结果也变为{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},表明数字“1”的数量是1个。这个需要从源数据中排除掉,后面的MIN函数才能提取到正确的结果
接下来利用IF函数做一个判断,凡是相减结果大于0的,都返回对应区域中的数字
MIN函数依次提取最小的那个就可以了
第二种方法通过COUNTIF函数也变成了一具有去重功能的公式。这里COUNTIF的这个用法也是常用方法。
本期内容练习文件提取方式:
链接:https://pan.baidu.com/s/1ZUOcvg48eZqCQAjqjQMRXg?pwd=f6tl
提取码:f6tl
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”
联系客服