Excel公式在两列中查找几种条件

时间:2019-06-12 08:12:25

标签: excel excel-formula

共有4000行,其中N列为序列号,H列为状态代码。这些行中的数字和代码会重复出现多次。

我正在尝试编写一个公式,以检查“此行”处的序列号是否存在于N列中的其他地方-并确定状态列“ BK”或“ BE”是否存在于同一列中-时间,因为H列中不应出现任何状态代码“ TR” /“ MO”。 但是我无法使公式正常运行(当应为“否”时请注明“是”)...这是我的最新尝试(针对第1103行):

=IF(AND(N:N=N1103,OR(H:H="BE",H:H="BK"),AND(OR(H:H<>"MO",H:H<>"TR"))),"Yes","No")

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以使用SUMPRODUCT()变体:

=IF(AND(SUMPRODUCT(($N$1:$N$4000=N1)*($H$1:$H$4000={"BK";"BE"}))>0,SUMPRODUCT(($N$1:$N$4000=N1)*($H$1:$H$4000={"TR";"MO"}))=0),"Yes","No")

按照您的方法,可能看起来像这样:

=IF(AND(SUM(COUNTIFS($H$1:$H$4000,{"BK","BE"},$N$1:$N$4000,N1))>0,SUM(COUNTIFS($H$1:$H$4000,{"MO","TR"},$N$1:$N$4000,N1))=0),"Yes","No")

enter image description here

注意,这确实包括当前行的H和N值。