创建多个If,And或Statements

时间:2017-12-26 17:26:57

标签: excel excel-formula

我正在尝试创建一个公式,用于跟踪明确,不清楚或待雇用的候选人。结果基于我们在E和G列中键入的答案组合。这是我的公式:

=IF(E3="Fail",IF(G3="Fail","Not Clear"),IF(E3="Clear",IF(G3="Neg","Completed"),IF(e3=”Pending”,If(g3=”Pending”,”Pending”),IF(e3=”Pending”,if(G3=”Neg”,”Pending”),if(e3=”Clear”,if(g3=”Pending”,”Pending”),If(e3=”Pending”,if(g3=”fail”,”Not Clear”),If(e3=”Fail”,If(G3=”Pending”,”Not Clear”),if(e3=”Fail”,If(g3=”Neg”,”Not Clear”),if(e3=”Clear”,If(g3=”Fail”,”Not Clear”,”Pending”))))))))))

我尝试过一个参与度较低的公式,但它没有给出正确的答案,因为"失败"在E或G。

=IF(E11="Fail",IF(G11="Fail","Not Clear"),IF(E11="Clear",IF(G11="Neg","Completed","Pending"),IF(E11="Pending",IF(G11="Pending","Pending"))))`

我已尝试使用IF / OR语句,也使用IF / And语句,但收到错误消息。

我试图在一个名为" lookup"的单独标签上构建一个匹配表。进行匹配查找,但我不熟悉该公式。

任何帮助都表示赞赏,因为我正在努力简化并改进我们团队目前的流程。

我试过的其他版本的公式似乎不起作用:

IF(E3="Fail",G3="Fail","Not Clear"),IF(E3="Clear",G3="Neg","Completed"),IF(e3="Pending", g3="Pending","Pending"),IF(e3="Pending",G3="Neg","Pending"),if(e3="Clear",g3="Pending","Pending"),If(e3="Pending",g3="fail","Not Clear"),If(e3="Fail",G3="Pending","Not Clear"),if(e3="Fail",g3="Neg","Not Clear"),if(e3="Clear",g3="Fail","Not Clear","Pending"))))))))))

IF(E3="Fail",IF(AND(G3="Fail","Not Clear"),IF(E3="Clear",IF(AND(G3 ="Neg","Completed"),IF(e3="Pending",IF(AND(G3="Pending","Pending"),IF(e3="Pending", IF(AND(G3="Neg","Pending"),if(e3="Clear",IF(AND(G3 ="Pending","Pending"),If(e3="Pending",IF(AND(G3="fail","Not Clear"),If(e3="Fail", IF(AND(G3="Pending","Not Clear"),if(e3="Fail",IF(AND(G3="Neg","Not Clear"),if(e3="Clear",IF(AND(G3="Fail","Not Clear","Pending"))))))))))

IF(E3="Fail",G3="Fail","Not Clear"),IF(E3="Clear",G3 ="Neg","Completed"),IF(e3="Pending",G3="Pending","Pending"),IF(e3="Pending", G3="Neg","Pending"),if(e3="Clear",G3 ="Pending","Pending"),If(e3="Pending",G3="fail","Not Clear"),If(e3="Fail", G3="Pending","Not Clear"),if(e3="Fail",G3="Neg","Not Clear"),if(e3="Clear",G3="Fail","Not Clear","Pending"))))))))))

Excel中的电子表格如下:

电子表格样本图片供参考

img1

2 个答案:

答案 0 :(得分:0)

如果我理解你想要的逻辑是什么,那么你可以使用带有OR的IF来实现这一点。

假设:任何失败的结果都不明确。具有待处理状态的任何值都处于暂挂状态,并且任何未发生故障或未处理但已清除的值都已完成。 (我没有看到NEG的场景,但从图片中可以看出它并不重要,因为没有NEG - NEG行存在)

=IF(OR(E2="FAIL", G2="FAIL"), "Not Clear",IF(OR(E2="PENDING",G2="PENDING"), "Pending", IF(OR(E2="CLEAR", G2="CLEAR"),"Completed", "ERROR")))

答案 1 :(得分:0)

我想为您提出几种可能的解决方案。首先,您应该定义您的案例。我建议你填写一张简单的表格。我试图理解你的IF公式背后的逻辑,我拿出这张表:

enter image description here

<强> 1。使用INDEX / MATCH公式解决方案:

我最喜欢的解决方案是使用带有INDEX / MATCH的公式,因为一旦您编写了表格就更容易设置,并且您不会因嵌套IF条件而冒错误。假设上面的表格在Sheet1上,公式如下:

=INDEX(Sheet1!$C$28:$E$30,MATCH(YourSheet!G3,Sheet1!$B$28:$B$30,0),MATCH(YourSheet!E3,Sheet1!$C$27:$E$27,0))

基本上,INDEX公式的第一个参数定义了引用表的范围,第二个参数选择了行,第三个参数选择了列。 INDEX返回范围中所选单元格的值。 MATCH搜索第二个参数中定义的范围中第一个参数的值。 MATCH中的第三个参数仅选择精确值。因此,MATCH返回有值的范围内的单元格数。

请注意在工作表中仅使用在参考表的列标题和行标题中定义的值。否则,MATCH公式会返回一个错误,而INDEX公式则无效。

<强> 2。带有OR和AND的IF的解决方案:

如果上面的参考表是正确的,带有IF,OR和AND的公式可能如下:

=IF(OR(E3="Fail",G3="Fail"),"Not Clear",IF(AND(E3="Clear",G3="Neg"),"Completed","Pending"))

如果您更改参考表的逻辑,则应重写此公式。

我做了一个测试,如下所示,两个公式都返回相同的结果:

enter image description here

如果您需要进一步的支持,请在下面发表评论。