Vlookup() 和 Match() 的区别

Difference between Vlookup() and Match()

我想在第 2 列上执行搜索以查找第 1 列中缺少的关键字。我使用了 formula =IF(MATCH(G2,$E:$E7,0),1,"No") 所以对于 return 1 的行,这意味着该关键字存在于column 1. 当column 2中的关键字在column 1中找不到时,我的公式将return#N/A。 (附图片)

不过,我想知道这是否可以通过更简单的方式完成,也许使用 vlookup 函数?如果是这样,如何?

我也不确定这个公式和 vlookup 之间的区别

希望有 Excel 函数经验的人能给我解释一下。提前谢谢你。

干杯。

MATCH returns 值在范围内的相对位置,而 VLOOKUP 将 return 值。

当使用 MATCH 将其包装在 ISNUMBER 中以处理如果未找到 MATCH 将 return 错误的事实:

=IF(ISNUMBER(MATCH(G2,$E:$E7,0)),1,"No")

现在,当未找到时,您将在字段中显示 No 而不是错误。


另一种方法是使用 COUNTIF:

=IF(COUNTIF($E:$E7,G2),1,"No")

虽然更短,但会比MATCH版本慢。有限的数据集可能不会引起注意,但太多(10,000+)会导致问题。


要使用 VLOOKUP:

=IF(ISERROR(VLOOKUP(G2,$E:$E7,1,FALSE)),"No",1)

这将是尝试全新

的最佳时机

XLOOKUP (wooo)

XLOOKUP 与 VLOOKUP 的不同之处在于它使用单独的查找和 return 数组,其中 VLOOKUP 使用单个 table 数组后跟列索引号。

语法

=XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])

参数

lookup - 查找值。

lookup_array - 要搜索的数组或范围。

return_array - return.

的数组或范围

not_found - [可选] 如果未找到匹配项,则值为 return。

match_mode - [可选] 0 = 完全匹配(默认),-1 = 完全匹配或下一个最小值,1 = 完全匹配或下一个更大的值,2 = 通配符匹配。

search_mode - [可选] 1 = 从第一个开始搜索(默认),-1 = 从最后一个开始搜索,2 = 升序二分搜索,-2 = 降序二分搜索。