我需要一个宏来计算多少行符合某些条件。
在此示例中,宏需要能够计算column2
是A
或B
的位置,而column3
是X
或{{1 }}:
W
它应该返回column1 column2 column3
name1 A X
name2 B X
name3 A W
name4 C X
name5 A Z
name6 C X
name7 B W
,因为4
,name1
,name2
,name3
是匹配的。
我已经尝试过使用name7
和数组公式,但似乎没有VBA是不可能的。
这可能吗?
答案 0 :(得分:5)
使用此公式:
=SUMPRODUCT(COUNTIFS(B:B,{"A";"B"},C:C,{"X","W"}))
COUNTIFS可以使用数组,如果一个以上(最大值为两个),则一个必须为水平(使用,
),另一个必须为垂直(使用;
)
在这种特定情况下,可以使用SUM()代替SUMPRODUCT,但是如果数组被范围替换:
如果两个范围必须是垂直的,另一个必须是水平的。这可以通过以这种方式物理地确定范围或在一个范围内使用TRANSPOSE()来实现。
如果将SUM()与某个范围一起使用,则必须使用Ctrl-Shift-Enter输入Array。
答案 1 :(得分:2)
可以使用以下公式在不使用VBA的情况下实现:
=SUMPRODUCT((($B$2:$B$8="A")+($B$2:$B$8="B"))*(($C$2:$C$8="X")+
($C$2:$C$8="W")))