动态索引匹配取代vlookup

动态索引匹配取代vlookup

我可以通过改变列索引使 vlookup 变得“动态”...并轻松地从“数据库”中获取整个列...我可以按任何顺序选择任何键。

这是数据表+和查找: 这是数据表+和查找表

背后的公式如下: 这些是背后的公式

我的问题是动态 vlookup 公式(例如 vlookup($g5, $A:$E, J$4,false)...)是否可以转换为索引匹配?例如index(E:E, match(A8, A:A, 0))

如何才能获得 A 和 E 列,而不会失去索引匹配的性能优势?

答案1

使用该OFFSET功能。

OFFSET以范围作为输入,然后返回向下指定行数、向右指定列数、具有特定宽度和高度的范围。在本例中,假设屏幕截图中的数据是反向的,我们将使用如下方法:

=INDEX(OFFSET($A:$A,0, J$4-1),MATCH($G5,$A:$A,0))

OFFSET接受三个参数(允许五个,但我们这里只使用三个)。第一个是起点 - 在本例中为 A:A。第二个是向下移动的行数 - 在本例中为 0。第三个是向右移动的列数。这就是我们进行工作的地方,通过从第 4 行拉出参考数字并按该列数移动(-1,以说明第 1 列 = 0 列移动以供我们参考)。

相关内容