2015-01-26 69 views
1

我有一個數據表在兩列中有三個可能的答案:sim,naoN/A。我想知道的次一排中包含的任何號碼sim或在任一列nao,即這個公式的總和:兩欄有條件總和

=IF(OR(A2="sim",A2="nao",B2="sim",B2="nao"),1,0) 

在下表中,它將使結果恢復8

 
Column 1 | Column 2 
--------------------- 
N/A  | Sim 
--------------------- 
Sim  | Sim 
--------------------- 
Sim  | Sim 
--------------------- 
N/A  | Nao 
--------------------- 
Sim  | Sim 
--------------------- 
N/A  | N/A 
--------------------- 
Sim  | Sim 
--------------------- 
Sim  | Sim 
--------------------- 
Sim  | Sim

回答

0

添加公式=如果(或()...)在第三列中,然後在下面的數據範圍可以使用= COUNTIF()函數來計數所有的細胞和「1」

+0

你是正確,但是由於OP已經提到了選項I,至少假定需求是不同的。一旦按行插入公式,則簡單= SUM將代替= COUNTIF。 – pnuts 2015-01-30 02:15:40

0

我同意助手欄是最簡單的方法,你也可以o試試這個: -

=SUM(IF((A2:A10="sim")+(B2:B10="sim")+(A2:A10="nao")+(B2:B10="nao"),1)) 

必須使用Ctrl-Shift-Enter作爲數組公式輸入。

'OR'條件是作爲一個和來實現的。每個評估爲「真」的內括號將貢獻1給數組中每行的總和。如果內部括號的總和爲一個或多個,則IF語句將返回該行的'1'。

總和然後合計含有一個「1」,以得到匹配的行數的行數,在這種情況下8.

要計算在整個的前兩列,使用匹配的行: -

=SUM(IF((A:A="sim")+(B:B="sim")+(A:A="nao")+(B:B="nao"),1)) 

enter image description here

的N/A以上是文本字符串,而不是#N/A錯誤。

+0

我已經在執行計算後使用了我隱藏的幫助列。但我正在尋找更優雅的東西。 就像我爲javascript編寫的for循環一樣。我正在考慮用VBA編寫for循環宏,但我擔心安全問題。 我試着把你的公式放到我的工作表中,它只返回#VALUE,或許我不清楚你的意思,「必須使用Ctrl-Shift-Enter作爲數組公式輸入。」 感謝您的進一步解釋。 – 2015-01-27 17:31:58

+0

@Joshua將公式複製並粘貼到電子表格的單元格中,然後按住Ctrl和Shift鍵並按Enter鍵,而不是按Enter鍵。如果您做得正確,則應在公式周圍看到一組大括號,並獲得正確的結果。 – 2015-01-27 19:48:05

0

據我瞭解的問題,它可能會被重新表述爲「有多少行是我離開,如果我排除那些在任何行的兩列N/A」:

=COUNTA(A:A)-COUNTIFS(A:A,"N/A",B:B,"N/A")