我一直在努力寻找适用于以下示例的公式(见问号!)。我想做的是合并 2 个数据集。问题是,公共标识符并不总是完全相同,但仍然非常相似。我尝试使用 vlookup 函数使函数的最后一个参数(查找范围)为 true 或改用数字 2(试图将 2 添加到标识符,但函数返回最接近的标识符的值(即 7800)。
第一个数据集:
标识符 =>0000000161200103 价格 =>7787
标识符 =>0000000161200712 价格 =>7800
标识符 =>0000001961200803 价格 =>9000
第二数据集:
标识符 =>0000000161200103 价格 =>7787
标识符 => 0000000161200801 价格 => ????? 返回最接近的 (7800) 或 #N/A。
我需要返回的是值9000。理想情况下,我需要能够以某种方式操纵 vlookup 搜索的查找值范围(向上或向下)或者如果没有完全匹配,接下来如何处理查找值...也许使用 if 函数或 isna 的 iferror...但我就是无法做到。
我尝试的函数如下: =VLOOKUP($A2;A2:B4;1;TRUE) -> 返回单元格 B3 =VLOOKUP($A2;A2:B4;1;1) -> 返回单元格 B3 =VLOOKUP($A2;A2:B4;1;2) -> 返回单元格 B3 =IF(ISNA(VLOOKUP($A2;A2:B4;1;1;FALSE)) = TRUE; VLOOKUP(($A2+2);A2:B4;1;FALSE); VLOOKUP($A2;A2:B4;1;FALSE)) -> 返回 #N/A
非常感谢您的帮助!
答案1
您可以使用第 4 个参数作为 0 来执行 vlookup。如果没有匹配,这将返回错误。您可以将其包装在 if 语句中,然后决定从那里做什么。
if(vlookup("0011..",a1:a4,1,0),vlookup("0011..",a1:b4,2,0),..dosomethingelse..)