![公式 =IF(VLOOKUP(...)=Cell;...) 不起作用](https://linux22.com/image/1395964/%E5%85%AC%E5%BC%8F%20%3DIF(VLOOKUP(...)%3DCell%3B...)%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%20.png)
根据这经过我自己的测试,使用 VLOOKUP 可以与 IF 里面的特定值进行比较。
例如:=IF(VLOOKUP(...) = 20, [then value], [else value])
工作。
但是,如果我将 VLOOKUP 的结果与某个单元格中的值进行比较,它不会返回值:
IF(VLOOKUP(...) = E$1, [then value], [else value])
看起来 IF 不会评估比较,而只会评估 VLOOKUP。添加括号没有帮助:
IF((VLOOKUP(...) = E$1), [then value], [else value])
也不起作用。
在第一个示例中,我将 VLOOKUP 与 20 进行比较。在第二个示例中,我想将其与 E1 中的值进行比较。(E1 有一个静态值,但我想在矩阵中使用公式,其中每个字段将 VLOOKUP 的结果与列标题进行比较,如果匹配或不匹配则返回不同的值。)
我怎样才能让它工作呢?
编辑:我混淆了与 VLOOKUP 结果进行比较的值。该公式确实有效;您只需使用正确的单元格即可。
答案1
如果您没有在 vlookup 中设置 Range_lookup 值,即 false,则 Table 数组中的第一列将需要按字母顺序或数字升序排序。
答案2
VLOOKUP 返回一个值,
IF (VLOOKUP returned value = "Something" , [TRUE? Then This Value] , [FALSE? Then This Value] )
因此,您需要将 Vlookup 返回的值与另一个值进行比较。如果您的 Vlookup 只是返回 True 或 False 一词,那么您不需要将其与任何东西进行比较,因为 Vlookup 提供了所需的逻辑测试。
答案3
如果您不只使用数字,则需要用引号将字符串括起来
=IF(VLOOKUP("a",F1:G2,2,FALSE)=6,"yay","nay")
或者=IF(VLOOKUP(B1,F1:G2,2,FALSE)=A1,"yay","nay")