分享

每日Excel分享(函数)| MATCH函数与数组公式,跟辅助列说再见

 L罗乐 2018-02-07



案例1

计算不重复个数



首先我们来看一下辅助列的做法


1、首先用MATCH函数判断当前单元格在查找区域的位置是否等于它的顺序,如果相等则表示这个姓名是第一次出现,就是我们要的不重复值

函数公式:

=N(MATCH(A2,$A$2:$A$17,0)=ROW(A2)-1)


PS:MATCH函数精确查找时是遍历法查找,当有多个满足条件的值时,只会返回第1个满足条件的值,所以有多个相同值的时候,MATCH函数只会返回第1个查找到的位置


2、然后将所有的占比全部相加起来

函数公式:

=SUM(B2:B17)


接下来我们再来看一下不需要辅助列的做法

函数公式:

=SUM(N(MATCH(A2:A17,A2:A17,0)=ROW(A2:A17)-1))

数组公式,CTRL SHIFT 回车键三键结束


案例2

提取不重复姓名



我们先来看一下辅助列的做法是怎么做的


1、首先用IF函数嵌套MATCH函数判断当前单元格姓名是否在当前单元格区域中第1次出现,如果是则返回当前姓名所在单元格的行号,不是则返回9^9(9^9=387420489,这是一个远超工作簿最大行数1048576的值,可以在行数引用时返回无效引用,从而排除干扰)

函数公式:

=IF(MATCH(A2,$A$2:$A$17,0)=ROW(A2)-1,ROW(A2),9^9)


2、然后用INDEX函数根据行号返回要提取的不重复姓名

函数公式:

=INDEX(A:A,SMALL($B$2:$B$17,ROW(A1)))


接下来我们再来看一下不需要辅助列的做法

函数公式:

=INDEX(A:A,SMALL(IF(MATCH($A$2:$A$17,$A$2:$A$17,0)=ROW($A$2:$A$17)-1,ROW($A$2:$A$17),9^9),ROW(A1)))

数组公式,CTRL SHIFT 回车键三键结束


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多