使用countif来计算可以在列中包含2个基于文本的选项的单元格数

时间:2016-05-04 12:20:02

标签: excel excel-formula countif

我正在尝试计算在一列中包含N或A以及在另一列中包含Y的单元格数。

我可以检查每列中的一个值(colB中的N和colJ中的Y)

=SUM(COUNTIFS('Nov-Jan'!B$3:B$60,"N", 'Nov-Jan'!J$3:J$60,"Y"))

但是我无法让它匹配colB中的N或A以及colJ中的Y.试过这个,但它不起作用:

=SUM(COUNTIFS('Nov-Jan'!B$3:B$60,"N",'Nov-Jan'!B$3:B$60,"A", 'Nov-Jan'!J$3:J$60,"Y"))

有什么我做错了/可以改变以获得相同的结果吗?我查看了OR函数,但显然它忽略了基于文本的值。

1 个答案:

答案 0 :(得分:1)

首先,函数中的SUM不执行任何操作。你可以把它留下来。然后第一个解决方案是添加两个countifs

=COUNTIFS('Nov-Jan'!B$3:B$60,"N", 'Nov-Jan'!J$3:J$60,"Y")+COUNTIFS('Nov-Jan'!B$3:B$60,"A", 'Nov-Jan'!J$3:J$60,"Y")

因为countifs无法处理或操作,您需要分两步完成。或者您可以使用SUMPRODUCT,因为它可以处理OR:

=SUMPRODUCT((('Nov-Jan'!B$3:B$60="A")+('Nov-Jan'!B$3:B$60="N"))*('Nov-Jan'!J$3:J$60="Y"))

对于SUMPRODUCT,你只需要确保括号正确,任何“+”为OR运算符,“*”为AND。如果你想用AND运算符添加C列,你会做

=SUMPRODUCT((('Nov-Jan'!B$3:B$60="A")+('Nov-Jan'!B$3:B$60="N"))*(('Nov-Jan'!C$3:C$‌​‌​60="A")+('Nov-Jan'!C$3:C$60="N"))*('Nov-Jan'!J$3:J$60="Y"))
带有OR的

就像你在评论中写的一样