使用 VLookup 可以方便的查找值,例如下图,可以根据 Sheet1 中的 Domain 去 Sheet2 中找到对应的 Name。

但是有个限制是 Domain 必须在区域中的第一列,例如上图中 Domain 在区域 Sheet2!A:B 中的第一列。
如果 Sheet2 实际情况是下图这样 Name 在 Domain 之前,就不能通过 VLookup 来查找了。

要解决这个问题,在不改变表结构的情况下需要使用 Match 和 Index 函数。
首先通过 Match 函数可以得到 Domain 在 Sheet2 中的行数。例如下图公式得到 shopjapan.co.jp 在 Sheet2 中第 2 行。

得到的行数 2 也正是 Name 的行数,此时通过 Index 函数,即可以得到 Sheet2 中 Name 列第 2 行的值,也就是 ショップジャパン。

通过以上分解步骤,我们知道了 Match 的结果正是 Index 的第二个参数,所以合并的公式为如下图。

再来看一下 VLookup 的公式=VLookup(A2,Sheet2!A:B,2,False),当查询区域列数很多的时候,还需要仔细去确认结果列的列数,用 Index 和 Match 则只需要结果列的列号就行了。

Index 加 Match 函数使用起来更加灵活也更加方便,关于 Index 和 Match 的用法可在Excel 常用函数文章里查看。

标签: