现状
Excel 有两个 Sheet。
Sheet1 A 列是 Id,没有重复。
Sheet2 A 列是 Id,与 Sheet1 A 列的 Id 含义一样,没有重复,但并不是所有 Id 都能与 Sheet1 一一对应。
需求
将 Sheet2 的 B 列、C 列……追加到 Sheet1 后面,要求 Id 对得上。
分析
如果 Sheet1、Sheet2 的 Id 完全对得上,复制、粘贴就完事了。
现在是有些对得上有些对不上,考虑使用 LOOKUP。
但是一查,发现 LOOKUP 有个缺点:如果 LOOKUP 函数找不到 lookup_value,则该函数会与 lookup_vector 中小于或等于 lookup_value 的最大值进行匹配。
也就是说找不到的话,它会跟它的“邻居”匹配,这……自作聪明啊。
所以可以考虑 VLOOKUP(纵向)、HLOOKUP(横向),它有个参数,可以决定是不是精确匹配。
不是太老的 Excel,也可以考虑 XLOOKUP(横向、纵向)。
XLOOKUP(A1, Sheet2!A:A, Sheet2!B:B, "", 0)
如果 Sheet2 的 A 列中找到 A1,就将 Sheet2 对应行的 B 列填充在当前单元格。
找不到就以 "" 填充。
0 是指精确匹配,避免了 LOOKUP 的缺陷。
但是还是有个缺陷,就是假如找到了,但是 B 列没内容,并不会以空填充,而是以 0 填充。