IF 与 #VALUE 中的 VLOOKUP returns 结合使用

IF in combination with VLOOKUP returns in #VALUE

我正在使用具有 2 个 sheet 的 Excel sheet。 Sheet 1 具有第 1 列中的键和第 3 列中的 answer/data 的所有数据。

有很多行,并且不断变化,因此可以免维护。

如果 Sheet 1 中的某一行具有空值,sheet 2 将显示“0”。 为了防止这种情况发生,我使用示例信息创建了以下公式。

Sheet 1 从 A3 开始到 A300 结束(第 3 列中的答案又名 C) 在sheet1中记录空单元格为A10

=IF(VLOOKUP(A10;'Sheet1'!$A:$C0;3;TRUE);VLOOKUP(A10;'Sheet1'!$A:$C0;3;TRUE);"")

因此,如果第 3 列中 Sheet 1 中 A10 的值 = TRUE,则获取该值并显示它,否则什么都不显示。 但是,当我在 C10 中使用 Yes 更新 Sheet1 中的单元格时,这可以完美地工作。 Sheet2 中的 VLOOKUP 将 return #VALUE。 一旦我用随机数值更新 C10 中的值,例如 123456,Sheet2 将显示 123456。

一旦我删除了 VLOOKUP 周围的 IF 语句,Sheet2 的值将变为 Yes(在我将 Sheet1 C10 更新回 Yes 之后)。

有人知道 IF(VLOOKUP) 是否适用于文本吗?在我的情况下它不会以某种方式,但数字很好。

谨致问候, 工程师

你需要稍微改变一下逻辑:

  • 检查是否可以在 sheet 1 上找到 A10(可以通过多种不同的方式完成,我选择了 COUNTIFS)。
  • 如果找到,请检查 VLOOKUP 是否 return 0。
=IF(COUNTIFS(Sheet1!A3:A300;A10)>0;IF(VLOOKUP(A10;Sheet1!A3:C300;3;TRUE)<>0;VLOOKUP(A10;Sheet1!A3:C300;3;TRUE);"");"")