2017-07-20 63 views
0

我試圖計算不同字符串在Excel表中出現的次數。一個例子表,目前在Sheet1中,會是這樣:具有唯一值的COUNTIFS Excel

Example table 1

我還有一個表中其他電子表格,我想指出,在左邊的表1中,有多少項爲「ZA每個字母「,」zc「或」zd「出現在右側。但是,我只想只考慮每個條目。

最終的結果,在Sheet2上的B行,必須是這樣的:

Example Table 2

在我使用的SUMCOUNTIFS組合來完成這項工作的時刻。 更具體地,施加到例如,我使用下面的公式:

=SUM(COUNTIFS(Sheet1!A1:A18,Sheet2!$A1,Sheet1!B1:B18,{"za","zc","zd"})) 

的公式做一些什麼意。但是,它不僅僅是一次性計入每個條目。相反,它正在計算左邊的每個字母,「za」,「zc」或「zd」的每個條目。該公式返回表如下:

Example Table 3

如何更改公式,以便在它做什麼,我打算?

謝謝。

回答

1

我最初的想法是:

=SUM(MIN (1,COUNTIFS(Sheet1!A1:A18,Sheet2!$A1,Sheet1!B1:B18,{"za","zc","zd"})) 

,但我不是,我可以測試MIN將正確地應用到結果COUNTIFS陣列。 ;-)

EDITED:MIN函數在COUNTIFS數組中最少取1個或所有項,而不是COUNTIFS數組中的最小值1和每個項,這就是我所害怕的。使用

=MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"za"),1)+MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"zc"),1)+MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"zd"),1) 

將獲得期望的結果。它有點笨重,但比數組公式更簡單。如果你想要一個數組公式,你可以使用:

=SUM(FREQUENCY(IFERROR(MATCH({"za","zc","zd"},(IF(Sheet1!$A$1:$A$18=$A5,Sheet1!$B$1:$B$18)),0),""),IFERROR(MATCH({"za","zc","zd"},(IF(Sheet1!$A$1:$A$18=$A5,Sheet1!$B$1:$B$18)),0),""))) 

本機利用頻率函數取一組值,看看在另一組值的許多項目是如何落入每個數據範圍。由於您需要文本而不是數字,因此我們使用MATCH函數來首次查找列表中出現的值,如果沒有,則返回帶IFERROR函數的「」。 (我們只需要首次出現,因爲您不想知道有多少次出現)。由於它是文本,因此我們對FREQUENCY的兩個參數使用相同的輸入。

因此,如果您需要更改要查找的值或您正在搜索的範圍,請務必同時更改!或者,您可以在某處列出這些值,例如在F1:F3中,爲此命名範圍,另一個爲A1:A18,另一個爲B1:B18。你的公式會看起來像這樣:

=SUM(FREQUENCY(IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""),IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""))) 

然後你只需要改變你命名的範圍定義,你的公式就會更新。 :-)

注意:由於這是一個數組公式,因此您必須按CTRL + SHIFT + ENTER鍵而不是僅輸入關閉單元格。當你看到配方欄時,你應該看到

{=SUM(FREQUENCY(IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""),IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),"")))} 

它不適用於自己輸入大括號。 ;-)

+0

非常感謝您的幫助。我試過了你的建議,但它只返回0. – franciscofcosta

+0

我現在有機會測試數據和公式並更新了我的答案。 :-) –

+0

謝謝艾琳。我無法用數組公式工作,但它使用MIN。謝謝。 – franciscofcosta

1

您可以在B1使用這個公式和向下填充:

B1: 
=SUMPRODUCT(((Sheet1!$A$1:$A$18=A1)*(Sheet1!$B$1:$B$18= {"za","zc","zd"}))/ 
    COUNTIFS(Sheet1!$A$1:$A$18,Sheet1!$A$1:$A$18,Sheet1!$B$1:$B$18,Sheet1!$B$1:$B$18)) 

enter image description here

+0

謝謝你的幫助 – franciscofcosta