2017-10-15 132 views
-1

我有一個Google表格,其中有幾列數據,我想知道有多少行匹配兩個條件,其中一個條件與兩個值中的任意一個匹配。Google表格有多個標準計數

下面是數據的一個例子,我有:

enter image description here

我想要做的是事情,如:得到的計數多少行A列有「是」,無論是「A 「或」C「。或者有多少行是」否「以及」I「或」X「。

我想出這個:

=COUNTIFS($A1:$A21,"Yes",B1:B21,"="&"A")+COUNTIFS($A1:$A21,"Yes",B1:B21,"="&"C")

...但是,這感覺笨重,並使得如果我決定遊移列更難更新。還真別說不好,如果我想的多比特信息組合成單個細胞,比如這個:

=(COUNTIFS($A1:$A21,"Yes",B1:B21,"="&"A")+COUNTIFS($A1:$A21,"Yes",B1:B21,"="&"C")) & "/" & (COUNTIFS($A1:$A21,"No",B1:B21,"="&"A")+COUNTIFS($A1:$A21,"No",B1:B21,"="&"C"))

我的意思是,這只是可怕。它有效,但它很糟糕。

我試過使用OR()沒有成功,也嘗試了沒有成功的大括號語法。我完全承認我可能已經完成了他們兩人的錯誤,但如果是這樣的話,我可以想出我錯過了什麼。任何錶款專家都願意對一位老先生表示同情,並向我展示一種更加明智的方式來做到這一點?

回答

1

最短的一個,到目前爲止:

=SUMPRODUCT(REGEXMATCH(A1:A8&B1:B8,"(?i)Yes(A|C)")) 

CONCATENATE使用&和兩列對結果使用REGEX

  • (?i)不區分大小寫
  • yes(A|C) YES,隨後按A或C
  • SUM了所有的trues。

對於一個複雜的條件下,

=ARRAYFORMULA(SUM(--REGEXMATCH(A1:A8&B1:B8,"(?i)yes(A|C)"))&"/"&SUM(--REGEXMATCH(A1:A8&B1:B8,"(?i)no(I|X)"))) 

需要注意的是,應該之前AC等,如果有,則使用TRIM是以下yes/No沒有尾隨空格,沒有前導空格。

+1

美麗。謝謝! –

1

I'm not sure if this is exactly what you're looking for,但您可以通過創建一個「配對」列表來簡化它。

E2:=COUNTIFS(A:A,$C2,B:B,$D2)

E3:=COUNTIFS(A:A,$C3,B:B,$D3)

...

E6:=SUM(E2:E5)

的好處是,它非常靈活 - 只要你想以後你可以添加儘可能多的配對。此外,沒有數組公式的複雜性。

-1

簡化:

  • 創建一個列C是TRUE,如果B是A或C,否則返回FALSE。

    如果B是I或X,則創建一個爲TRUE的列D,否則爲FALSE。

    如果A爲「是」且C爲真,則創建列E爲TRUE。

    創建F列是TRUE,如果A是 「否」,d是TRUE

    創建G列是列E或F.柱

    薩姆向上在列中的值G.

0

對於複雜邏輯,使用更強大的命令,如queryfilter

在列A中使用「是」計數的行中,並且或者「A」或「C」在列B

變得

=query(A:C, "select count(A) where A='Yes' and (B='A' or B='C')") 

=query(A:C, "select count(A) where A='Yes' and (B='A' or B='C') label count(A) ''") 

如果您不想擁有諸如「count」之類的列標題。

這幾乎說明了英語的目標(以及它的SQL版本)。

+0

這個有趣的事情是我得到了一個細胞,說「計數」,然後在它下面,一個正確的結果(4)的細胞。我正在尋找只有4個。真的,真的很接近! –

+0

現在我獲得#VALUE !.做了一個直接的複製粘貼,並用'A:C'或'A:B'獲得了相同的結果。 –

0

我會用變量查詢。在F1中輸入:

=query(A:B,"select count(A) where A ='"&C2&"' AND B='"&D2&"' OR A ='"&C2&"' AND B='"&E2&"'") 

在C2中輸入「是」或「否」,然後在D2和E2中輸入B字母(或保留空白)。在C1,D1和E1中輸入你想要的標題。