我有三组数据,Set1,Set2和set3,它们的长度不同,例如一组可能看起来像:
Address Comment
A200.11 First Cycle Flag
A200.12 Step Flag
A200.15 First Task Execution Flag
在此比较中,我获取地址并使用 VLOOKUP 来检查该地址是否存在于其他数据集中,如下所示:
=IF(ISNA(VLOOKUP(B3,$D$3:$D$288,1,FALSE)),"Address OK", "Address Exists")
其中 B3 是包含地址的单元格,$D$3:$D$288 是另一个数据集(即我的查找表)的地址列。
因此,如果 VLOOKUP 的值为空/不存在,则地址为 OK,否则为 NG。
这个方法已经足够好了,但是我想要做的是,如果该地址存在于其他数据集中,则显示“ADDRESS NG”和数据集中该地址的注释。
示例:假设数据集 1 中的单元格 B62 包含地址 A200,单元格 C62 中的注释为“COMMENT”,在数据集 2 中的单元格 D185 也包含地址 A200,单元格 E185 包含“COMMENT SET 2”;我希望该函数的输出为“地址存在 COMMENT SET 2”
我相信这需要使用 OFFSET 函数,但我不确定如何实现。
答案1
OFFSET 不是必需的,因为 VLOOKUP 实际上是为返回偏移值而设计的(这就是第三个参数的用途)。
您没有提到正在使用哪个版本,因此根据以下公式之一应该可以得到您想要的内容:
Excel 2013 及更高版本:
=IFNA("Address Exists " &VLOOKUP(B3,$D$3:$E$288,2,FALSE),"Address OK")
之前的版本:
=IF(ISNA(VLOOKUP(B3,$D$3:$E$288,2,FALSE)),"Address OK","Address Exists " &VLOOKUP(B3,$D$3:$E$288,2,FALSE))
该函数评估 VLOOKUP,如果找到匹配项,则返回“地址存在”以及查找范围的第 2 列(E)中的内容(我已将其更改为包括 E 列)。