首页 > 解决方案 > IF 函数不会将结果返回为 Pass 但数据可用

问题描述

我在 Excel 中创建了一个公式,以在数据匹配时将结果返回为“通过”,如图所示 样本。公式如下

"=IFERROR(IF(VLOOKUP(CONCATENATE(D2,E2,F2,G2,H2),greenlist_level1!P:P,1,FALSE)>0,"Pass",IF(VLOOKUP(CONCATENATE(D2,E2,F2,G2,H2),greenlist_l2!P:P,1,FALSE)>0,"Pass","Not Available")),"Not Available")"

根据公式,我通过在每个工作表上使用 Concatenate 创建了一个新列作为唯一 ID,如来自不同工作表level1 1级level2 level2的这两个图像所示

如您所见,这两个数据都存在于不同的工作表上。为什么我的公式将第一项列为“不可用”?有没有我错过的标准。

任何帮助将不胜感激

标签: excelexcel-formula

解决方案


尝试评估 OP 的公式。第一个 if 条件返回 #N/A,因此它应用 iferror 公式并返回“不可用”..

Chronocidal 在他对以下问题的评论中很好地解释了这背后的逻辑。

=IFERROR(IF(NA(),"True","False"),"Error")将返回"Error")

试试这个公式

=IF(AND(ISNA(VLOOKUP(CONCATENATE(D2,E2,F2,G2,H2),greenlist_level1!P:P,1,FALSE)),ISNA(VLOOKUP(CONCATENATE(D2,E2,F2,G2,H2),greenlist_l2!P:P,1,FALSE))),"Not Available","Pass")

它将检查两张纸上是否不存在该值(带有AND条件)然后“不可用”否则“通过”


推荐阅读