分享

万金油公式的五大经典应用

 L罗乐 2017-10-25 发布于广西

昨天我们分析了万金油公式(Index small if组合)的计算原理,今天继续来看这个万金油组合最为经典的五个应用案例,对于公式还不能理解的,不妨再看看昨天的内容,或者加QQ、微信交流(联系方式在文末)。


经典应用一
单列提取不重复值
 

在单列中提取不重复值(重复的保留一个),公式为:

=INDEX($B$2:$B$28,SMALL(IF(MATCH($B$2:$B$28,$B$2:$B$28,0)=ROW($1:$27),ROW($1:$27),99),ROW(A1))),效果如图:

注:

1、这里多了一个match函数,不明白的可以先看看match函数的基本作用;

2、单列提取不重复值最简单方法其实不是公式,高级筛选或者透视表都可以实现;

3、就公式来说,单列提取不重复值也有很多方法,Index small if组合、Index match countif组合等等……


经典应用二
多列提取不重复值
 

在多列中提取不重复值(重复的保留一个),公式为:

=INDEX($A$2:$B$28,SMALL(IF(MATCH($A$2:$A$28&$B$2:$B$28,$A$2:$A$28&$B$2:$B$28,0)=ROW($1:$27),ROW($1:$27),99),ROW(A1)),COLUMN(A1)),效果如图:

注:

1、因为是多列引用,所以index多了第三参数,并且用column实现列的变化;

2、这个方法适用于数据量不大的情况,实际应用中推荐使用高级筛选或者透视表;

3、这个公式并不是效率最高的,仅仅是为了说明这个组合的应用……


经典应用三
单条件查找多条记录
 

根据一个条件提取符合该条件的多条数据(学号为给出的条件),公式为:

=(INDEX($B$2:$D$28,SMALL(IF($A$2:$A$28=$F$2,ROW($1:$27),99),ROW(A1)),COLUMN(A1)))

注:这是最为常见的一种问题,本例实际就是昨天所讲的公式,只是单元格位置发生了变化,对比昨天的内容,可以更加容易理解各个参数的含义。



经典应用四
多条件查找多条记录
 

根据多个条件提取符合该组条件的多条数据(例如英语85分以上,即为科目和成绩两个条件),公式为:

=(INDEX($B$2:$D$28,SMALL(IF(($C$2:$C$28=$F$2) ($D$2:$D$28>=85)=2,ROW($1:$27),99),ROW(A1)),COLUMN(A1)))

注:这个公式用处很广,其中if的第一参数有点意思,有兴趣的朋友不妨琢磨琢磨……



经典应用五
对比并提取两列数据的差异记录
 

根据两列数据比对,并分别提取出差异内容,公式为:

=IFERROR(INDEX(OFFSET($A$2,,,COUNTA($A:$A)-1),SMALL(IF(COUNTIF(OFFSET($B$2,,,COUNTA($B:$B)-1),OFFSET($A$2,,,COUNTA($A:$A)-1)),99,ROW(OFFSET($A$2,,,COUNTA($A:$A)-1))-1),ROW(A1))),'')

=IFERROR(INDEX(OFFSET($B$2,,,COUNTA($B:$B)-1),SMALL(IF(COUNTIF(OFFSET($A$2,,,COUNTA($A:$A)-1),OFFSET($B$2,,,COUNTA($B:$B)-1)),99,ROW(OFFSET($B$2,,,COUNTA($B:$B)-1))-1),ROW(A1))),'')

注:这个例子用到了两个公式,并且加入了offset这个函数,目的是动态范围。相信这两个公式会让很多朋友觉得眼花缭乱,不过只要弄明白一个,另一个也就没什么难度了。说到这个例子的应用,其实还是提问率蛮高的一个问题呢,一起看看动画就明白到底是什么作用了:


师父领进门,修行在个人,除了以上几种应用,Index small if组合还有很多小奥妙等待你在实际运用过程中慢慢发现,那种惊喜的感觉还是留给有心人慢慢体味吧


你们最想了解和掌握的Excel技能有哪些?请在留言区告诉我们。

有任何疑问欢迎加qq群交流:EXCEL基础学习群 259921244

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多