美好的一天,
我正在尝试将此公式插入到Excel中以搜索单元格中的特定术语,并返回值" 50"如果找到这个词。
我已经能够使用以下原始公式成功实现它:
=IF(C1394<>70,C1394,IF(ISNUMBER(SEARCH("*PD*",B1394)),"50",IF(ISNUMBER(SEARCH("*OD*",B1394)),"50",IF(ISNUMBER(SEARCH("*OC*",B1394)),"50",IF(ISNUMBER(SEARCH("*OF*",B1394)),"50",IF(ISNUMBER(SEARCH("*PC*",B1394)),"50",IF(ISNUMBER(SEARCH("*MS*",B1394)),"50",C1394)))))))
我尝试使用以下方法使我的公式更有效和动态,但是excel只读取第一个条件&#34; PD &#34;并忽略其余的
=IF(C8266 =70,IF(--ISNUMBER(SEARCH({"*PD*","*OD*","*OC*","*OF*","*PC*","*MS*"},B8266)),"50",C8266),C8266)
有人可以告诉我我做错了什么吗?
答案 0 :(得分:2)
您只是错过了OR条款,请参阅:http://www.mrexcel.com/forum/excel-questions/601195-check-multiple-text-strings-cell.html#post2977162
所以你想要:
=IF(C8266=70,IF(OR(ISNUMBER(SEARCH({"*PD*","*OD*","*OC*","*OF*","*PC*","*MS*"},B8266))),"50",C8266),C8266)
答案 1 :(得分:1)
您所做的错误是您正在尝试评估通常不会评估数组的公式中的数组。您可以通过按住 Ctrl + Shift 然后按 Enter 来评估此类公式。
否则,您的公式可以缩短为以下内容:
=IF(OR(ISNUMBER((C8266=70)*SEARCH({"PD","OD","OC","OF","PC","MS"},B8266))),"50",C8266)
SEARCH
不需要通配符。--
。OR
检查数字和/或错误数组中是否至少有一个数字。类似地调用了数组(使用 Ctrl + Shift + 输入)。