无法弄清楚如何将其拼凑在一起,更不用说想出这个问题的描述性标题了。
我在单元格中尝试做的Psuedocode是:
if ((A1 == 1 && B1.contains("abc")) || (A1 == 2 && B1.contains("def") || (A1 == 3 && B1.contains("ghi"))
then write("ok")
else write("not ok")
答案 0 :(得分:2)
这将区分大小写。对于不区分大小写的情况,请使用constructor
代替SEARCH
。
FIND
或者
=IF(OR(AND(A1=1,IFERROR(FIND("abc",B1)>0,FALSE)),AND(A1=2,IFERROR(FIND("def",B1)>0,FALSE)),AND(A1=3,IFERROR(FIND("ghi",B1)>0,FALSE))),"ok","not ok")
答案 1 :(得分:2)
您可以尝试:
=IF(IFERROR(MATCH(A1,{1,2,3},0)=MATCH(TRUE,ISNUMBER(SEARCH({"abc","def","ghi"},B1)),0),FALSE),"OK","NOT OK")
作为数组公式,在退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter确认。
如果A列中的值实际上是数字1,2,3,...那么您可以将公式简化为:
=IF(IFERROR(A1=MATCH(TRUE,ISNUMBER(SEARCH({"abc","def","ghi"},B1)),0),FALSE),"OK","NOT OK")
答案 2 :(得分:0)
以下是大纲:
=IF(OR(AND({conditions}),AND({conditions}),AND({conditions})),"OK","NOT OK")
单元格是否包含文字? https://exceljet.net/formula/cell-contains-specific-text