中企动力 > 商学院 > excel筛选函数公式
  • ?

    Excel函数公式:以一敌十的SUBTOTAL函数

    元彤

    展开

    SUBTOTOAL函数拥有强大的分类汇总功能,工作中很多问题都可以借助它顺利完成。

    一、忽略隐藏行或筛选对数据进行汇总。

    1、隐藏行汇总

    方法:

    在目标单元格输入公式:=SUBTOTAL(109,C3:C9)。

    2、筛选汇总。

    方法:

    在目标单元格输入公式:=SUBTOTAL(109,C3:C9)。

    二、永远连续的序号。

    方法:

    1、选定目标单元格。

    2、输入公式:=SUBTOTAL(103,B$3:B3)。

    3、Ctrl+Enter填充。

    4、隐藏行,检测序号。

    备注:

    此方法同样适用于数据的筛选。有兴趣的可以自己操作试试。

    三、忽略隐藏或筛选求平均值。

    方法:

    在目标单元格中输入公式:=SUBTOTAL(101,C3:C9)。

    四、从上面示例中可以看出,SUBTOTAL函数可以求和,可以统计非空值,还可以统计平均值,除此之外,它还有多种分类汇总方法,详见下图。

    现在我们可以将SUBTOTAL函数的功能进行总结一下:=SUBTOTAL(功能代码,统计区域)。代码已经在上图了,大家对照应用就行了。赶快动手试一试吧……但是需要注意的事:1-11统计时包含手动隐藏(或筛选)的行,而101-111不包含隐藏或筛选的行。

  • ?

    超高效!一下子搞定Excel序号的5个函数公式~

    丁不乐

    展开

    作者:King

    来源:秋叶PPT

    今天,分享 5 个高级技巧,能够让你一下子搞定很多关于表格序号的问题。例如:

    排序前后,如何让序号始终不变?

    筛选前后,如何让序号始终连续?

    分类内部,如何自动给每一行编号?

    超长的编号,如何自动批量生成?

    如何生成循环的序号?

    ……

    下面为你一一揭晓!

    排序稳如狗

    原本表格中的序号是从小到大按顺序排列的,但是按照其他列的数据排序以后,序号就会被打乱。就像下面标红的序号一样:

    有时候,我们会有些特殊需求,比如,让序号始终保持「1-n」的状态,方便打印。怎么办?

    只需要借助一个Row 函数就可以实现:

    图中的函数公式是:=Row(A1)。

    Row 函数可以返回指定单元格的行号,借助行号来生成序号是 Excel 中最常用的高级套路之一。Row,从英文单词字面上理解,就是行的意思。你记住了吗?

    筛选不间断

    按条件筛选数据后,不符合条件的行会被整行隐藏掉,原本连续的序号,会变得断断续续。

    有些表格,需要反复筛选出某些数据出来的打印。这样就会好麻烦好麻烦呀。有没有办法设置一批动态的序号,自动忽略隐藏的行,保证序号始终连续呢?

    当然可以,依然要用到函数公式。不过为了满足这么高级的需求,当然得用更加高级的函数。

    这个函数,就是万能的Subtotal,看效果:

    图中的函数公式是:=SUBTOTAL(103,$B$2:B2)。

    Subtotal 就是函数界的孙猴子,想变就变!

    它可以代替 11 个函数,还有 2 种计算模式(包含隐藏行、忽略隐藏行),1 个函数就能实现 2×11=22 种功能,简直要逆天。

    让序号不受筛选印象,始终保持连续,是 Subtotal 最常见的一种用法。其他用法暂时不展开,如果你感兴趣,以后我们再慢慢细说。

    组内编号

    你有没有碰到过这样的表格呢?按类别分组,各个组中给每一行添加连续编号。

    怎么办?手工一个个输入吗?NO,NO,NO。聪明人会用这一招。

    图中的函数公式是:=IF(A2="",B1+1,1)。

    作为最常用函数 TOP 3 成员,IF函数几乎无表不在。如果高考也考 Excel 的话,IF 函数肯定是必考题。要读懂上面的 公式,你至少需要了解:

    合并单元格中只有第一个单元格有数,其他都为空单元格;

    单元格空值可以用连续的双引号 “ ” 表示什么都木有;

    当左边不是空值时,说明是第一个单元格,结果等于 1,其他单元格等于上一个单元格的值加 1,依此类推,就能得到各组内部的连续序号;

    数字格式 00,可以让 1 自动变成 01 。

    超长编号

    5553875987800001

    5553875987800002

    5553875987800003

    5553875987800004

    有15位以上的超长编号,直接输入后向下填充,会变成科学计数法。

    没办法,超长文本通常都要以文本格式写入才行。那就先设为文本格式,再输入吧。

    可是……文本格式的数字编号,自动填充时只是复制,不会自动递增……

    难道就没有办法了吗?别忘了,我们还有表格界的超级消防队长,基础功能搞不定时,就请出函数公式,分成两部分输入,再拼合得到一起:

    图中的函数公式是:=A2&B2。

    别说100个,就算是10,000个,两三秒种就全部生成了!就问你爽!不!爽!?

    循环序号

    1234、1234 像首歌 ~ 怎么批量生成固定数量的循环序号呢?其实,不用函数公式,利用自动填充也可以做到。

    可是如果有大批量的循环序号,拖拽填充柄生成循环序号还是很麻烦。有两个万能的函数公式可以派上用场:

    图中的两个函数公式分别是:

    =MOD(ROW(A1)+2,3)+1

    =INT((ROW(A1)+3)/4)

    其中 Mod 函数为求余函数,常用来生成循环序数;INT 为取整函数,常用来指定数量递增的序数。

    光说不练假把式,马上打开你的 Excel 表动手试一试吧!

    Excel 中的函数公式到底有多厉害?这样说吧,用好函数公式,你会有一种化身为魔术师的错觉,那种操控数据的快感会让人上瘾。

    问题是,Excel 函数有400多个,还能组合运用,招式变化千千万,难道每一个都要学吗?

    不!用!

    只要掌握一些常用的函数和基本套路,丰富你的武器库,勤练多看,就能灵活应变。

  • ?

    Excel函数公式:简单实用的高手技巧,速围观

    Galatea

    展开

    大年初一了,新年快乐,在这里给大家拜年了。祝大家在新的一年里财源滚滚,万事如意,同时感谢大家在17年对小编的支持……

    对于一些常用技巧,我们必须掌握,这样有利于提高我们的工作效率和质量,例如下面的这5个技巧……

    一、在单元格中创建下拉菜单。

    下拉菜单不仅看起来效果炫酷,而且实用价值很高,除了节省手动输入数据的麻烦外,还可以规范数据输入,可谓一举两得。

    方法:

    1、选定目标单元格。

    2、【数据】-【数据验证】,选择【允许】中的【序列】,单击【来源】右侧的箭头,选取需要在下拉列表中显示的内容-【确定】。

    二、直接生成下拉菜单。

    如果要输入的内容已经存在,那么重复输入时我们可以直接在下拉菜单中选取。

    方法:

    选定目标单元格,按Alt+↓ (向下箭头),然后按【向下箭头】直接选取所需内容,按Enter即可。

    三、快速按颜色排序。

    Excel中的右键菜单,功能非常的强大,例如按颜色排序。

    方法:

    1、选取需要排序的单元格。

    2、【右键】-【排序】-【将所选单元格颜色放在最前面】。

    四、快速筛选所需内容。

    筛选数据,我们一般按照【数据】-【筛选】-……的步骤去做的。其实我们还可以使用快捷方法筛选我们需要的数据。

    方法:

    1、选取需要筛选值所在的单元格。

    2、【右键】-【筛选】-【按所选单元格的值筛选】。

    五、快速填充工作日。

    方法:

    1、选取开始单元格并填充开始日期。

    2、拖动填充柄填充。

    3、单击填充柄右侧的【向下箭头】-【填充工作日】。

    备注:

    日期转星期的公式:=IF(B3="","",TEXT(B3,"aaa"))

  • ?

    Excel函数公式:关于合并单元格的那些神操作,你都知道吗?

    色调

    展开

    Excel表格中,有合并单元格的话,那么原先很方便的筛选,排序,求和等操作,将变的非常繁琐……那么,如果对合并的单元格进行筛选,排序,求和操作呢?

    一、合并单元格排序。

    方法:

    1、选定目标单元格。

    2、输入公式:=MAX($A$2:A2)+1。

    3、Ctrl+Enter填充。

    二、合格单元格求和。

    方法:

    1、选定目标单元格。

    2、输入公式:=SUM(C3:C9)-SUM(F4:F9)。

    3、Ctrl+Enter填充。

    三、复制内容到合并单元格。

    方法:

    1、选定目标单元格。

    2、输入公式:=INDEX($G$3:$G$6,COUNTA($B$2:B2))。

    3、Ctrl+Enter填充。

    四、对合并单元格进行筛选。

    方法:

    1、选定目标单元格,并复制数据到新的单元格备用。

    2、取消单元格合并。

    3、Ctrl+G打开定位对话框。

    4、在【定位条件】种【空值】。

    5、输入公式:=B3。

    6、Ctrl+Enter填充。

    7、【数据】-【筛选】-根据需要筛选数据即可。

    五、合并单元格排序。

    方法:

    1、选定目标单元格。

    2、单击【合并后居中】命令。

    3、Ctrl+G打开【定位】对话框,在【定位条件】中选择【空值】,并【确定】。

    4、输入公式:=A3。

    5、Ctrl+Enter填充。

    6、【数据】-排序。

  • ?

    Excel函数公式:最牛X的统计函数Subtotal,必须掌握

    魏悒

    展开

    在Excel中,统计功能是最基本的功能,如果你对统计函数或技巧一窍不通,那将费时费力……今天我们要学习的是Subtotal函数的使用技巧。

    一、SUBTOTAL功能及语法结构。

    功能:在指定的范围内根据指定的分类汇总函数进行计算。

    语法结构:SUBTOTAL(function_num,ref1,[ref2],...)

    1、Function_num必需; 数字 1-11 或 101-111,用于指定要为分类汇总使用的函数。 如果使用 1-11,将包括手动隐藏的行,如果使用 101-111,则排除手动隐藏的行;始终排除已筛选掉的单元格。

    2、Ref1必需;要对其进行分类汇总计算的第一个命名区域或引用。

    3、Ref2,...可选;要对其进行分类汇总计算的第 2 个至第 254 个命名区域或引用。

    二、对隐藏值的计算和忽略。

    目的:计算销量平均值。

    方法:

    在目标单元格输入公式=SUBTOTAL(1,C3:C9)或=SUBTOTAL(101,C3:C9)。

    解读:

    1、公式=SUBTOTAL(1,C3:C9)中的第一个参数为1,故包含隐藏的行;公式=SUBTOTAL(101,C3:C9)中的第一个参数为101,故不包含隐藏的行。

    2、当没有隐藏行时,两个公式的计算结果相同,当有隐藏行时,公式=SUBTOTAL(101,C3:C9)的计算结果发生改变。

    三、对筛选值的忽略。

    目的:统计当前值的平均值。

    方法:

    1、在目标单元格中输入公式:

    =SUBTOTAL(1,C3:C9)或=SUBTOTAL(101,C3:C9)。

    2、筛选数据,我们发现计算的结果在发生变化,而且只对当前显示的数值负责。

    解读:

    通过筛选数据,我们可以发现不管是何种类型的统计,计算的结果只对当前筛选保留的数据复制。

    四、永远连续的序号。

    目的:隐藏行,序号保持连续。

    方法:

    1、选定目标单元格。

    2、在目标单元格中输入公式:=SUBTOTAL(103,B$3:B3)。

    3、Ctrl+Enter填充。

    4、隐藏或取消隐藏行,可以发现行号都是连续的。

    解读:

    1、参数103所对应的函数为:Counta。统计飞空单元格的个数。当参数为1XX时,忽略隐藏的行。

    2、所以公式=SUBTOTAL(103,B$3:B3)统计的就是从B3开始到当前单元格累计非空单元格数。

  • ?

    Excel函数公式:含金量超高的6大实用技巧,职场的你必须掌握!

    xxys

    展开

    Excel中的技巧非常的多,全部掌握的可能性不大,但是对于常用且实用的技巧,作为职场的我们必须掌握哦!

    一、创建下拉菜单。

    方法:

    1、选定目标单元格。

    2、【数据】-【数据验证】,选择【允许】中的【序列】、单击【来源】右侧的箭头,选择需要在下拉菜单中显示的内容,并单击箭头返回,【确定】。

    解读:

    1、此方法实用于内容较多的情况,如果内容较少,也可以在来源中输入,如:男,女。

    2、输入内容时分隔符必须为英文逗号哦!

    二、直接生成下拉菜单。

    方法:

    在目标单元格中按快捷键:Alt+↓(向下箭头)即可。

    解读:

    此方法使用于已经录入数据且新录入的数据与前面的数据重复的情况。

    三、按单元格颜色筛选。

    方法:

    在目标单元格右键-【筛选】-【按所选单元格的颜色筛选】。

    四、按单元格值快速筛选。

    方法:

    在目标单元格右键-【筛选】-【按所选单元格的值筛选】。

    五、快速填充工作日。

    方法:

    1、拖动起始日期所在单元格的填充柄。

    2、单击右下角的箭头,选择【填充工作日】。

    六、输入1、2显示男、女。

    方法:

    1、选定目标单元格。

    2、快捷键Ctrl+1打开【设置单元格格式】对话框,选择【分类】中的【自定义】,并在【类型】中输入:[=1]"男";[=2]"女";,【确定】。

    3、输入数字1,显示男,输入数字2,显示女。

    解读:

    此处的“男、女”具有共性,可以用其他需要的字段替换哦!根据实际情况灵活应用即可。

    结束语:

    Excel中最常用的并不是高大上的函数,而是常用的技巧,所以希望通过对本文的学习,大家对常用技巧有所掌握,以此来提高工作效率哦!学习中遇到任何问题可以在留言区留言讨论哦!

  • ?

    Excel函数公式:含金量极高的超实用Excel表格技巧,必须掌握

    Emden

    展开

    对于表格技巧,我们已经在前面的章节中有所讲解……感兴趣的同学可以查阅历史消息中的相关内容……

    一、字体的颠倒显示

    方法1:

    方法:

    1、选中或者复制需要颠倒显示的内容。

    2、粘贴内容。如果在原位置操作,此步骤可以省略。

    3、在内容的字体前添加符号:@。

    方法2:

    方法:

    1、选中需要调整的字体。

    2、【开始】-【对齐方式】-【方向】,根据实际需要选取命令。

    二、以“万”为单位进行显示。

    方法:

    1、选中需要设置的数字。

    2、Ctrl+1打开【设置单元格格式】对话框。

    3、选择【分类】中的【自定义】,并在【类型】总输入:0!.0,"万"。

    4、【确定】。

    备注:

    在【类型】中输入的:0!.0,"万"中的符号均为英文符号。

    三、双标题筛选。

    方法:

    1、选中需要筛选的行。

    2、【数据】-【筛选】。

    备注:

    从示例中我们可以看出,第一次的筛选并未达到我们的实际需求,我们可以选中实际需要筛选的行来弥补筛选按钮不全的问题。

    四、单元格大小不一样的数据排序。

    单元格大小不一样进行数据排序时会有如下提示:

    这时我们一般都会手足无措……其实我们可以通过下述的办法来完成数的排序。

    方法:

    1、选定需要排序的数据区域。

    2、【数据】-【排序】-取消【数据包含标题】。

    3、选取【主要关键字】-【确定】。

    五、设置斜体表头。

    方法:

    1、选定表头区域。

    2、Ctrl+1打开【设置单元格格式】对话框,选择【对齐】,选择【方向】中的角度或输入角度。

    3、【确定】。

    六、每页打印标题。

    方法:

    1、【页面布局】-【打印标题】。

    2、选择【工作表】标签,单击【顶端标题行】右侧的箭头,拖动鼠标选取需要每页都打印的内容。

    3、单击箭头返回并【确定】。

    备注:

    1、从打印预览中我们可以看出除了第一页之外的其它页均没有标题。

    2、设置后在进行预览可以发现都有了标题行。

  • ?

    Excel函数公式:关于高级筛选的那些事儿

    夏风华

    展开

    Excel中的自动筛选很多人都会用,单经常遇到多条件或复杂条件筛选时无从下手的情况,其实强大的Excel早就为你准备了N个贴心的高级筛选功能,只是你不知道而已……

    一、两条件同时满足下的数据筛选。

    目的:筛选业务员为“张明”且商品为“手机”的相关信息。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    备注:

    需要提前准备好“条件”。当不需要筛选时可以单击【清除】命令来恢复数据。

    二、两条件任意满足其一下的数据筛选。

    目的:筛选业务员为“张明”或“文强”的相关信息。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    备注:

    多条件筛选满足其中一条件时,将条件放在不同的行上即可。

    三、按日期区间筛选数据。

    目的:筛选12月13日至16日的相关数据。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    备注:

    提前录入日期范围。

    四、按数值区间筛选数据。

    目的:筛选出金额大于9000小于30000的相关数据。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    备注:

    提前录入金额范围。

    五、按混合条件筛选数据。

    所谓的混合条件,就是既有“且”关系又有“或”关系的复杂条件。比如你现在要筛选出业务员为“夏丽”和“周宗”所销售的“笔记本”和“手机”的相关数据。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    备注:

    “且”关系的条件放在同一行上,“或”关系的条件放在不同行上即可。

    六、按模糊条件筛选数据。

    目的:筛选出业务员为“李”姓的相关数据。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    七、按精准条件完全匹配筛选。

    目的:筛选出品牌为“小米”的相关记录。

    一般方法:

    从筛选的结果中我们可以看出不仅筛选除了品牌为“小米”的记录,还筛选出了“小米”相关的记录。但这并不是我们所需要的记录。那么我们就要用到精准筛选。

    正确方法:

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    备注:

    我们可以与前面的条件区域相比,只是在“小米”的前面多了一个“=”(等号)。但筛选的结果截然不同。

    八、按自定义条件筛选数据。

    自定义条件,就是你想按什么规则就自己写相应的条件,只要你能想到的都可以,比如,我们筛选日销售额大于平均销售额的数据。

    方法:

    自定义条件:=G3>AVERAGE(G3:G10)【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    九、提取不重复记录。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

    十、提取两表相同部分。

    方法:

    【数据】-【高级】,打开高级筛选对话框。选择方式:【在原有区域显示筛选结果】。选定【列表区域】和【条件区域】。【确定】。

  • ?

    Excel函数公式:在Excel中,你真的会筛选数据吗?

    伤逝

    展开

    Excel中数据的筛选是一项非常强大的功能,其常用的数据筛选功能有【自动筛选】和【高级筛选】,其功能也是非常的强大。今天我们主要来学习一下“自动筛选”功能。对于数据量非常庞大的表格有绝对性的实用性哦!

    一、通过筛选排序。

    方法:

    1、选定标题行。

    2、【数据】-【排序】。

    3、单击需要排序的列标题右下角的箭头,选择【升序】或【降序】即可。

    二、按颜色筛选。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击任意标题行右下角的箭头-【按颜色筛选】并选取颜色。

    三、包含指定值得筛选。

    目的:筛选销售地区中有“海”的所有信息。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击目标列的右下角箭头,在搜索框中输入关键字“海”并【确定】。

    四、筛选以指定值开头的数据。

    目的:筛选出姓“小”的所有销售员信息。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击目标列的右下角箭头,在搜索框中输入关键字“小*”并【确定】。

    解读:

    关键字中的星号(*)为通配符,*可以匹配任意长度的字符。

    五、筛选以指定值结尾的数据。

    目的:筛选销售地区中以“海”结束的数据。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击目标列的右下角箭头,在搜索框中输入关键字“*海”并【确定】。

    六、筛选指定长度的数据。

    目的:筛选销售地区中地名为2位数或3位数的信息。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击目标列的右下角箭头,在搜索框中输入关键字“??”或“???”并【确定】。

    解读:

    关键字中的问号(?)为通配符,只能匹配一个字符。??就是两个字符,???就是三个字符。在录入关键字是问号必须为英文状态。

    七、精准筛选。

    目的:快速筛选第一季度销售额为66或67的所有数据。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击目标列的右下角箭头,在搜索框中输入关键字“66”或“67”并【确定】。

    八、范围查询。

    目的:筛选第一季度销售额大于等于30小于等于60的销售记录。

    方法:

    1、选定标题行,【数据】-【筛选】。

    2、单击目标列的右下角箭头,【数字筛选】-【介于】,输入范围值,并【确定】。

    结束语:

    经过学习,数据筛选没有问题了,但是如果查阅原来的数据了?除了【全选】之外,有么有其它的方法呢?欢迎大家在留言区留言讨论或发表自己的看法和观点哦!

  • ?

    excel函数公式:万金油筛选函数公式解读

    乖宝宝

    展开

    小编有话说:有很多小伙伴告诉小编想学习万金油公式,今天就分享给大家啦!估计还有很多小伙伴不知道啥是万金油公式吧,其实就是INDEX-SMALL-IF-ROW啦,这个公式套路可以解决Excel一对多查找筛选等难题,今天给大家分享的只是其中一个,先来学一下吧,有兴趣的话,再继续给大家推送。

    那么,这个公式又要怎么用呢?不妨先看看下面这个效果图:

    这个例子就是一个典型的一对多查找,查找条件是部门,在数据源内每个部门对应的都是多个数据,万金油公式最主要的用途就是用来解决一对多查找等一些相对复杂的问题。上面动画中的公式为:

    =IFERROR(INDEX($A$2:$D$21,SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1)),MATCH(F$3,$A$1:$D$1,0)),"")

    看到这个公式,或许很多朋友都会惊叹:这么长的公式,看不懂哇!

    今天就和大家一同破解这个看不懂但又很强悍的公式套路,耐心往下看哦……

    上面这个公式一共用了六个函数:IFERROR、INDEX、SMALL、IF、ROW和MATCH,其中的IFERROR和MATCH是本例中辅助性的两个函数,其余的四个INDEX-SMALL-IF-ROW就是万金油公式啦。

    因此我们先来学习这个核心部分的原理:

    F4单元格的公式为:

    =INDEX($A$2:$A$21,SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1)))

    先从INDEX说起,这个函数基本功能是给出一个区域,然后根据对应的行列位置返回查找结果,上图中INDEX查找的数据区域就是姓名所在的区域$A$2:$A$21。

    INDEX函数的基本结构是:INDEX(查找区域,第几行,第几列),如果区域是单行或者单列的话,后面两个参数可以省略一个。通俗点说,你拿着电影票去找座位,整个大厅的座位就是区域,第几排第几座就是公式中的后面两个参数,通过这种方式可以准确找到目标位置。

    在上面这个例子里,区域是在一列,所以我们只需要确定每个数据在第几行就行。

    明白这一点的话,我们的重点就该放到INDEX的第二个参数了:

    SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1))

    注意看上面这个图,销售部一共有四条记录,分别在数据区域的第5、8、9和16行(数据区域是从第二行开始)。

    因此我们希望公式下拉的时候,INDEX的第二个参数分别是5、8、9和16这四个数字(这一点一定要想明白)。

    注意,接下来我们即将接触到万金油最核心的部分,请保持高度集中的注意力……

    SMALL函数的基本结构:SMALL(一组数,第几小的数)

    建议自己模拟个简单的数据来充分理解这个函数,方法如下:

    在A列输入一些数字,公式的意思是这列数字中最小的一个,结果是2,很好理解对不对,将公式的第二个参数改成2,再看看结果:

    倒数第二小的是4。

    如果希望继续得到第三小的数,该怎么做我想大家都能想到,但是会有个问题,我们只能手动修改第二参数,并不能通过下拉来实现这个参数的变化,如果要想可以下拉的话,第二参数就需要用到ROW函数,也就是这样修改:

    ROW函数非常简单,得到的就是参数的行号,通过这个公式,我们就把A列的数据从小到大排了个序,觉得有意思吗?

    回到我们的万金油公式,5、8、9和16这四个数字代表什么意思还记得吧,我们需要用SMALL函数依次得到这四个数字,思路是通过判断C列是否与F2一致,如果一样得到行号,如果不一样,就得到一个比最大行号还大的数字(目的是为了防止被查找到):

    要实现这个目的,就需要IF函数的介入,于是就有了:

    IF($C$2:$C$21=$F$2,ROW($1:$20),99),用这一段来作为SMALL的第一个参数。

    关于这段IF,就比较容易理解了,我们可以借助F9来看看这段公式的结果:

    因为我们的数据就20个,所以IF的第三个参数使用99就足够了,如果数据量比较大的话,可以用9^9,表示9的9次方,反正足够大就行。

    搞清楚这个IF的话,再来看这段SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1))是不是就没那么晕了。

    关于SMALL这部分,一定要明白是随着公式下拉的时候,逐个得到我们希望得到的那几个数字,然后用这些数字作为INDEX的第二参数,就可以得到最终需要的结果。

    万金油的核心就是INDEX、SMALL、IF和ROW,请大家务必反复琢磨,把这部分原理搞清楚。还有非常重要的一点需要强调,万金油公式是一个数组公式,因此需要我们按着Ctrl和shift再回车。

    至于一开始的公式,考虑到要查找多列的内容,所以INDEX的数据区域用的$A$2:$D$21,多列的时候,就需要提供列位置才能找到目标值,因此用MATCH(F$3,$A$1:$D$1,0)来确定数据在第几列。

    每个部门的数据都不一样多,我们需要将公式多向下拉几行,这时候就会产生一些错误值,在公式的最外层使用IFERROR函数屏蔽了错误值,使得查询结果看起来非常干净。

    今天只是使用了一对多查找这样一个例子来解释万金油公式的原理,实际上万金油的套路还有很多,大家喜欢的话以后继续分享相关的实例,当然,如果看完本文的话能够自己去解读一些复杂的公式就更好了。

    ****部落窝教育-excel万金油函数公式解读****

    原创:老菜鸟/部落窝教育(未经同意,请勿转载)

excel筛选函数公式

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP