乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel函数教程-“万金油”公式,INDEX+SMALL+IF+ROW函数组合的三个应用案例解析

excel函数教程-“万金油”公式,INDEX+SMALL+IF+ROW函数组合的三个应用案例解析

作者:乔山办公网日期:

返回目录:excel表格制作

在excel中有一个“万能”的函数组合,它们就是Index+small+If+row函数,它们被称之为“万金油”公式,主要就是因为这一组“万能”函数组合在工作中应用广泛,在N多种问题的解决方法上都出现过它们的身影。


接下来就给大家分享3个万金油公式的应用场地。



1.一对多查找

一般数据查找常用的是VLOOKUP函数,但是VLOOKUP函数只能返回查询区域的首个匹配的查询结果,但这里我们要查找的是一个姓名对应的多个产品,想要返回查找值对应的多个结果就需要用到“万金油”公式。


在D2单元格输入公式:=IFERROR(INDEX($B$2:$B$12,SMALL(IF($A$2:$A$12=$D$2,ROW($1:$11)),ROW(A1))),"")


此公式是数组公式,需要按 Ctrl+Shift+Enter 结束公式。


公式说明:IF($A$2:$A$12=$D$2,ROW($1:$11)) 用IF函数判断A2:A12区域的值是否等于D2,如果等于则返回A列产品对应的行号,如果不等于返回FALSE。 按F9结果得到一个内存数组:{FALSE;2;FALSE;4;FALSE;FALSE;7;FALSE;FALSE;10;FALSE},得出4个相等的行号。


SMALL函数对IF函数结果进行取数 ,公式向下填充,依次提取1,2,3……N个最小值,最后用INDEX根据SMALL函数提取的行号得出结果。


最后,当SMALL函数得到的结果为错误值时,表示符合条件的行号已被提取完,所以INDEX也会返回错误值,为了避免返回错误值,用IFERROR函数返回假空


2.提取数字

在A列混合数据中提取数字,C2单元格输入公式:=IFERROR(INDEX($A$2:$A$12,SMALL(IF(ISNUMBER($A$2:$A$12)=TRUE,ROW($1:$11)),ROW(A1))),"") 按Ctrl+Shift+Enter 结束公式。


公式说明:IF(ISNUMBER($A$2:$A$12)=TRUE,ROW($1:$11)) 用ISNUMBER函数判断A列中的数据是否是数字,是数字返回true,否则返回false,然后用IF函数再判断ISNUMBER函数的结果是等于TRUE则返回对应的行号,其余跟上一个案例一样。


3.提取唯一值

在A列重复数据中提取唯一值,D2单元格输入公式:=IFERROR(INDEX($A$2:$A$16,SMALL(IF(MATCH($A$2:$A$16,$A$2:$A$16,0)=ROW($1:$15),ROW($1:$15),20),ROW(A1))),"") 按Ctrl+Shift+Enter 结束公式。


公式说明:IF(MATCH($A$2:$A$16,$A$2:$A$16,0)=ROW($1:$15),ROW($1:$15),20) 用MATCH函数查找A2:A16中数据在A2:A16区域中出现的位置,MATCH函数查找只会返回区域中首个匹配的数据,所以重复出现的数据都只有一个位置。再用IF函数判断MATCH函数查找出的位置是否等于所在的行号,如果等于则返回所在的行号,如果不等于则返回一个比数据行号要大的一个数字(比如A列数据有16行,只要比16大的数字且所在的行号是空单元格即可),按F9可看到公式运算后得到的结果是{1;2;3;4;5;20;20;8;20;20;11;20;20;20;20},然后用INDEX+SMALL函数提取出数字。


我是小螃蟹,如果您喜欢这篇教程,请帮忙点赞和转发哦,感谢您的支持!


相关阅读

  • Excel电子表格-Excel怎么做表格?

  • 乔山办公网excel表格制作
  • 2.在草纸上画好草稿,将需要数据的表格样式及列数和行数确定。3.在新建Excel中,用鼠标选中需要的表格行数列数,然后点右键,“设置单元格格式”——“边框”。-Excel电子表格
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网