Excel解释,请高手详细解释下!

=INDEX(总表!A:A,SMALL(IF(总表!$B$3:$B$5000=供应商查询!$A$2,ROW($3:$5000),4^6),ROW(C294)&""))

授之以鱼不如授之以渔!

我觉得还是跟你说一下学习的方法的好。

这是一个EXCEL公式,其中用到了4个函数,分别是INDEX、SMALL、IF和ROW。

分别以这四个函数进行学习,即可对以上的公式做出解释。

学习的方法是随便点击一个空的单元格,公式菜单——插入函数或直接点编辑栏的按钮;

弹出对话框

类别里选择全部,选择函数处找到要学习的函数(可在键盘按函数首字母快速定位),下面是此函数的简要说明,亦可点“有关该函数的帮助”更深入的学习。选中函数确定后,弹出函数参数对话框

代表是此函数需要三个参数,将光标放到每个参数框内,下方可以看此参数的解释。

 

你的这个公式中,index有两个参数(第三个参数省略了,因为定位只是一列),分别是   总表!A:A    SMALL(IF(总表!$B$3:$B$5000=供应商查询!$A$2,ROW($3:$5000),4^6),ROW(C294)&"")

small有两个参数,分别是  IF(总表!$B$3:$B$5000=供应商查询!$A$2,ROW($3:$5000),4^6)   ROW(C294)&""

if有三个参数,分别是     总表!$B$3:$B$5000=供应商查询!$A$2      ROW()      4^6

前row有一个参数是 $3:$5000   后row有一参数是 C294

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-04
INDEX+SMALL+IF是查找符合条件的多条记录的经典函数组合
第2个回答  2015-01-04
这个公式就是把总表B列中,和供应商查询表的A2相同的项,对应的A列的数据全部罗列出来。
这是个数组公式,
IF(总表!$B$3:$B$5000=供应商查询!$A$2,ROW($3:$5000),4^6):在总表的B3:B5000区域,如果等于供应商商查询表A2单元格的数据,则返回行号(ROW(3:5000)),否则就返回一个很大的数4的6次方。这样,结果就组成了一个数组,其中符合条件的元素就是行号,不符合条件的元素就是4的6次方。
SMALL(....):从上述数组中,找出第1小的数、第2小的数、……;其实就是找到的行号。
INDEX(...):在总表的A列中,取上述SMALL函数得到的每一个行号对应的数值。
相似回答