2016-07-05 36 views
1

Excel文件是這樣如何(使用或COUNTIF)

A B 
1 0 
0 1 
1 1 
0 1 
0 0 
1 0 

我想使用COUNTIFS函數來計算有多少行至少有一個「做一些數學在COUNTIFS函數的標準範圍1" 中的任何列,像

=Countifs(A:A+B:B,">=1") 

=Countifs(or(A:A=1,B:B=1)) 

我知道我可以添加一列C,讓列C =列A + B,然後只計算列C;或者我可以統計兩行中總行數和行數爲「0」,然後計算總行 - 兩個「0」。但在實際情景中,我有更復雜的情況,所以我不喜歡使用這兩種解決方案。

回答

1

使用SUMPRODUCT function來提供循環計算。

=SUMPRODUCT(--((A1:A6)+(B1:B6)>=1)) 

sump_cyclci

SUMPRODUCT不喜歡嘗試計算文本值和全列引用慢下來,讓你的範圍降至最低。使用INDEX function可以幫助隔離動態範圍的真實數字。

+0

謝謝!但是「 - 」是什麼意思? –

+1

tl; dr:它將文本或布爾值轉換爲數字。長篇小說:搜索[double unary](http://answers.microsoft.com/zh-cn/office/forum/office_2007-excel/what-does-a-double-unary-operator-in-a-sumproduct/ 9fee1133-130f-4261-90b8-d32d5b885f9a?AUTH = 1)。 – Jeeped

0

使用=COUNT(A:A)-COUNTIFS(A:A,0,B:B,0)數都0列,從總的行中減去:

Excel screenshot

或者你可以使用:

=COUNTIFS(A:A,1,B:B,1)+COUNTIFS(A:A,0,B:B,1)+COUNTIFS(A:A,1,B:B,0) 

如果不清楚什麼總數的行。

1

使用數組公式另一種解決方案:

=SUM(IF(A1:A6=1,1,IF(B1:B6=1,1,0))) 

作爲一個數組公式,你必須通過按Ctrl鍵++輸入一起進入這個公式。

enter image description here

+0

我很好奇,爲什麼你的公式需要按Ctrl + Shift + Enter,但另一個'= SUMPRODUCT( - ((A1:A6)+(B1:B6)> = 1))'不需要至?他們都是數組公式。 –