2016-06-01 84 views
0

如何計算返回True的子字符串的每次搜索計數中的True返回值?Excel計數在每個匹配值的範圍內搜索爲真

如果我提供一個範圍但是它失敗,我可以從一個單元返回1個結果。

因此適用於一個細胞。

=COUNT(ISNUMBER(SEARCH(B2,Data!S12))) 

其中B2是我正在搜索的單詞,Data!S12是我想要查看的單元格,Data!S:S。

試圖創建此作爲數組公式所以不使用VBA

我怎樣才能做到這一點?

+0

使其成爲一個數組公式,但定義的最大行,所以你沒有做整行 –

回答

2
=SUM(--(ISNUMBER(SEARCH(O2,S:S)))) 

請務必按控制 + SHIFT + ENTER 你完成輸入您的公式,而不是僅僅 ENTER。當您看到公式欄中的公式時,您會知道您做得正確。您無法手動添加{}。


你的另一個選擇是:

=SUMPRODUCT(--(ISNUMBER(SEARCH(O2,S:S)))) 

要謹慎,你不應該做上述與整列,如果你能避免它。你應該限制你的數據範圍,否則你可能會陷入困境。


你真的可以通過使用一些通配符在搜索中說你正在尋找的字是「男孩」簡化它,你可以使用下面的

=COUNTIF(S:S,"*boy*") 

,或者如果你想相關搜索詞電池可以使用:概念

=COUNTIF(S:S,"*"&O2&"*") 

證明與後來的兩個公式

Proof of concept with countif

你可以閱讀更多關於COUNTIF here

+0

非常酷= COUNTIF(S:S,「*」與O2和「* 「) – sayth

+0

你有沒有使用過小計來只計算可見的單元格? = COUNTIF(SUBTOTAL(103,Data!$ S:$ S),「*」&Sheet2!B2&「*」)) – sayth

+0

我沒有使用它,但小計公式是一個特殊的野獸。如果它發生在它正在求和的範圍內,它可以忽略它自己。如果我記得正確的話,還有其他的選擇,你可以做的不僅僅是小計的總和。我會說它的聚合函數的前兆 –