在excel业界一直流传关于万金油公式的“神话”。那什么是万金油呢?
其实万金油公式就是index函数的一种组合公式,它通过固定的函数搭配,能够解决excel中非常多的查询引用问题,由于应用广泛灵活,且相当实用,而被使用者冠以“万金油”之名。
那今天作者就能讲讲index函数是如何搭建万金油公式套路的?!
如下图所示,它是从数据库中导出来的研究机构投资研报评级表,现在我们需要查询研究机构为中金,所进行研报投资评级的公司包含哪一些?

从数据表可以发现,这是典型的一对多查询引用场景,这类问题,使用vlookup函数,则需要手动创建辅助列,再写公式。
而使用index函数,却可以一步搞定!
我们可以看下公式运行的演示结果,如下动图所示:

这个公式是如何执行运算的,下面作者就分步来完成index组合公式的创建。
首先我们来看一个公式:
{=IF($D$2:$D$118=$N$1,ROW($2:$118))}

这是一个基础的if函数表达式,它只输入了两个参数,第1参数是一个等式,第2参数是等式为真的结果,然后省略了第3参数为假的结果。
这个表达式有两个比较特别的地方,大家注意公式的两边使用了大括号进行引用,则代表这个if函数公式属于数组公式,而且有一个要点是截图无法发现的,即作者在编辑公式时,是先全选了填充区域,然后三键运行if公式。
此外这个if函数第2参数被设置为一个数组,且它的长度与第1参数等式的单元格区域长度是一致的。这里“ROW($2:$118)”的结果是2至118的数字组合。
我们全选公式填充区域并执行一个if函数公式数组运算,它会从第一个单元格依次执行返回2至118的结果,也就是说,第1个单元格的结果为2,第2个单元格的结果则等于3,……一直到最后一个单元格的结果为118.