最好的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个其他条件要检查?并需要添加第三个结果?筛选这些数据的最佳方法是什么?

+0

变化L到F表示在这方面好码* – bzimor

+0

对不起,应该读取_P,H或F_。 – Josh

+0

请澄清* 20其他条件检查/第三个结果*。 – pnuts

您可以使用类似这样的数组公式:

=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"))