单独运作的VLOOKUP公式是
=if(VLOOKUP(E2,DB!$C:$E,1,0)>0,"COMPLETED",)
=if(VLOOKUP(E2,DB!$F:$H,1,0)>0,"IN PROGRESS",)
问题是在单个单元格中显示两个结果时,我提出的公式是
C2=if(AND(VLOOKUP(E4,DB!$C:$E,1,0)>0),"COMPLETED",if(VLOOKUP(E4,DB!$F:$H,1,0)>0,"IN PROGRESS","UNDEFINED"))
我已经使用VLOOKUP以外的正常条件测试了公式,它没有任何问题,不确定它有什么问题。
Example : C10=if(AND(E10=1),"ONE",if(E10=2,"TWO","NO DATA"))
任何帮助表示赞赏。 可能是它的一些简单但我在最后3个小时拉我的头发。
谢谢:)
/ ----------------------- /
2016年5月3日更新
很抱歉我在发布使用Stack溢出时发布的评论。
我只尝试过没有任何AND条件的IF语句,但结果仍然相同。 VLOOKUP没有返回第二个值。
C15=IF(VLOOKUP(E15,DB!$F:$H,1,0)>0,"COMPLETED",if(VLOOKUP(E15,DB!$F:$H,1,0)>0,"IN PROGRESS","UNDEFINED"))
我期望在单元格C2(sheet1)中检查单元格中的值 E2对列C:H(表2 / DB)。如果它属于 C列:C in(sheet2 / DB)然后应显示C2(sheet1)中的值 as"已完成"否则,如果值在F列中:F(表2 / DB),则在C2中 (sheet1)应显示" In Progress"。
链接到我的电子表格link
答案 0 :(得分:1)
您的配方存在一些问题。
VLOOKUP
和类似的函数在单个行或列中进行搜索,看起来您正在寻找多行和多列的值。VLOOKUP
在范围内找不到值时返回N/A
,并且您希望返回零或更少值(当您在>0
语句中检查IF
。请注意,VLOOKUP
返回单元格值本身而不是匹配的索引(如MATCH
函数)。我的建议是将VLOOKUP
替换为COUNTIF
。
=IF(COUNTIF(DB!$F:$H,E2)>0,"COMPLETED",IF(COUNTIF(DB!$C:$D,E2)>0,"IN PROGRESS","UNDEFINED"))
COUNTIF
计入多个行和列,如果未找到匹配则返回零。