索引匹配:Vlookup 的更好替代方案

已发表: 2021-10-23

VLOOKUP 是使 Excel 变得出色的功能之一。 尽管许多人一开始可能觉得它不直观,但它很快就会成为第二天性和不可或缺的。 有些人甚至发现它可以改变生活。 但是,VLOOKUP 有其问题,首先,它只能从左到右读取。 如果需要查找引用列左侧的值,则必须重新排列工作表才能使用该函数。

VLOOKUP 还会在实际上您只使用其中两个列时画布许多列。 标准语法仅引用相对列值,如果您修改表,您将再次倒霉,需要进行一些重组和函数重写,这在大型工作簿中可能非常乏味。 这也会在将函数复制到其他列时产生问题。

不过,还有一个替代方案,INDEX + MATCH。 它不仅复制了功能,而且还有自己的特权和奖励。 这是您以前可能没有听说过的东西(特别是如果您不是为了好玩而阅读 Excel 的),但是在本文结束时,您将能够将其付诸实践并获得回报。

分解指数 + 匹配

许多用户忽略的一点是,Excel 函数可以链接在一起并组合在一起,以形成比组成部分更强大的东西。 每个函数都有一个参数,如果您需要更多功能或扩展功能,这些参数可以由其他函数组成。

指数

=INDEX(数组,行号)

INDEX 函数采用用户数组、一组值(例如列),并返回该特定位置的单元格的值。 例如,我有一列数据记录了过去某个时间举行的比赛的位置。 我想知道哪个车手获得了第三名,找到这个我可以简单地输入,

=索引(B2:B6,3)

excel数据示例

这将返回 Rusty Shackleford。

简单但有用。 我们现在可以返回数组中的值。

比赛

=MATCH(查找值,查找数组,匹配类型)

MATCH() 是另一个简单的函数,与我们刚刚介绍的 INDEX 函数相关。 不过,它不是返回一个值,而是返回一个数字,该数字表示一个值在数组中的相对位置。 MATCH 需要以下参数; 值、要搜索的数组和匹配类型。 匹配类型通常设置为 0,但取决于您的使用情况。 0 表示您只想要精确匹配,1 或 -1 表示如果没有精确匹配您想要下一个最接近的值。

使用上面的比赛示例,我知道我需要找到的车手,但我不知道他在最终比赛排名中的位置。 由于位置是相对的,我需要确保从第一个位置开始覆盖整个结果。

=MATCH(“基尔戈鳟鱼”,B2:B6,0)

excel数据示例

这将返回值 4。由于我们从顶部开始,我们知道特劳特在这场特定的比赛中排名第四。

指数匹配

也许你看到了我们现在的发展方向,或者你跳过了前进以获得好东西。 使用 INDEX + MATCH,我们可以将这两个简单的函数结合起来,制作出类似但比我们可信赖的 VLOOKUP 更灵活的东西。 如果您需要通读几遍,请不要担心,一开始可能会有点棘手。 一旦你掌握了正在发生的事情,虽然从组件重建它真的很容易。

INDEX 返回特定值。 这是 VLOOKUP 的主要功能,给定一组参数; 您可以快速找到所需的值。 现在我们唯一缺少的是找到行位置的方法。 如果您必须手动找到它,您将失去功能的效用。 通过在第二个参数中使用 MATCH,我们可以获取其输出,一个相对位置,并将其推送到 Index 函数中,从而解决该问题。 现在我们有一些与 VLOOKUP 完全相同的东西,只是多一点输入。

将功能付诸实践

使用下表,我们有兴趣找出与特定产品 ID 相关联的产品类型。

excel数据示例2

要使用 INDEX MATCH,我们从 INDEX 开始,因为最终我们想要返回特定值而不是位置。 在 INDEX 中,我们包含 MATCH 以返回我们的 INDEX 函数的位置。

=索引(A2:A6,匹配(8316,B2:B6,0))

这里发生的事情是我将在 A 列中搜索由 Match 函数提供的 B 列中行的值。

在 match 函数中,我指定我需要查看 B2:B6 中的产品 ID 代码,并将值 8316 的位置发回。在这种情况下,它位于位置 4,相当于写

=索引(A2:A6, 4)

Excel 运行该函数并查找指定 ID 号的数组中的位置。 它占据该位置并在我们的 A 列中查找同一行,返回特定 ID 的卡车类型。 因此,最终,我们得到了相同的结果,但在输入方面具有更大的灵活性。

函数的特权

INDEX + MATCH 的威力来自于较小的数据选择。 如果你有 15 列,但你只使用数字 1 和 15,为什么要把其他的都拉进来? 这有助于加快大型数据集的运行时间。

第二个增强的功能是 Index 可以向左或向右读取,无论您将列放在哪里,与 VLOOKUP 不同,INDEX 与它是在初始数组的左侧还是右侧无关。 如果你再看看上面的例子,这就是我们所做的,从右到左工作。 该函数还可以用作质量保证检查,因为您必须手动指定所需的两列,而不是在您选择的某处输入相关列号。

需要更多视觉效果? 观看索引匹配示例的屏幕录像,我们将最终 url 插入到广告文案模板中。

结论

继续玩INDEX + MATCH。 这是一个非常强大的功能,可以增强您的查找能力。 一旦点击,我相信你会被卖掉并且永远不会回头。 尝试新事物时总会有一些学习曲线,请承诺使用索引匹配一段时间。 一开始会很笨重,但您很快就会看到好处。

————
由 Jenna Kelly 更新的帖子(之前发布日期:2/3/14)