最好的Excel方法来查找范围内的数组?
问题描述:
我有一个用户的各种代码的大名单。目标是将好东西与坏东西分开。所有以P,H或F开头的代码都很好。所有以L或K开头的代码都不好。例如:最好的Excel方法来查找范围内的数组?
Email | Code 01 | Code 02 | Code 03 | Code 04 | RESULT
[email protected] | PJR-VRF | | | | GOOD
[email protected] | | LNR-JNT | | LNR-JNT | BAD
[email protected] | | HVB-YWQ | HVB-YWQ | HVB-YWQ | GOOD
[email protected] | | LNR-JNT | | KVB-MMO | BAD
[email protected] | | | | PHH-KLP | GOOD
[email protected] | | HNR-OPT | | LNR-JNT | GOOD
[email protected] | | FLT-MWQ | | FLT-MWQ | GOOD
[email protected] | | KVB-MMO | KVB-MMO | KVB-MMO | BAD
换句话说,如果范围包含以P开头的所有细胞,H,或F然后好,否则坏。我试着用下面的公式结果栏中:
=IF(COUNTIF(B2:E2,{"H*","P*","F*"}),"good","bad")
它没有遗憾的工作,所以我尝试这样做:
=IF(COUNTIF(B2:E2,"H*") + COUNTIF(B2:E2,"P*") + COUNTIF(B2:E2,"F*"),"good","bad")
这似乎是工作,但是这是最好的方法?说我有20个其他条件要检查?并需要添加第三个结果?筛选这些数据的最佳方法是什么?
答
您可以使用类似这样的数组公式:
=IF(SUM((--($B2:$D2<>""))*(--ISNUMBER(FIND(LEFT($B2:$D2,1),"HPF"))))>0,"GOOD","BAD")
请记得按Ctrl+Shift+Enter
以正确完成数组公式。
如果您需要添加第三个结果是:如果范围包含与P,H开头的所有细胞,或L那么好*:
=IF(SUM((--($B2:$D2<>""))*(--ISNUMBER(FIND(LEFT($B2:$D2,1),"HPF"))))>0,"GOOD",IF(SUM((--($B2:$D2<>""))*(--ISNUMBER(FIND(LEFT($B2:$D2,1),"EKD"))))>0,"OTHER","BAD"))
变化L到F表示在这方面好码* – bzimor
对不起,应该读取_P,H或F_。 – Josh
请澄清* 20其他条件检查/第三个结果*。 – pnuts