02.28 計算單元格內指定的字符數

小夥伴們好啊,今天老祝和大家分享一個字符計算的公式實例。

如下圖所示,要統計A1單元格內包含幾個“花”字?

計算單元格內指定的字符數

公式一:

=LEN(A1)- LEN(SUBSTITUTE(A1,"花",))

公式難度:☆

公式中有兩個函數,分別是LEN和SUBSTITUTE。

LEN函數用於計算字符長度。

SUBSTITUTE 函數用於替換字符串中的部分內容。

該函數的用法是:

SUBSTITUTE(要處理的單元格或文本,要換掉啥,用啥來替換,替換第幾次出現的字符)

如果指定了第四參數,則只有指定條件的舊文本被替換;否則會將全部舊文本都更改為新文本。


接下來咱們看看公式各個部分的意思:

一、LEN(A1)部分,作用是計算出A1單元格的字符總數。


二、SUBSTITUTE(A1,"花",)部分,作用是替換掉A1單元格內所有的“花”。


三、LEN(SUBSTITUTE(A1,"花",))部分,計算出替換掉“花”之後的字符個數。


四、最後使用A1單元格的字符總數,減去替換掉“花”之後的字符個數,計算出A1 單元格內有幾個“花”。

本例中SUBSTITUTE第三參數省略參數,相當於將舊字符刪除。第四參數省略,表示將所有的“花”都進行替換。


公式二:

=COUNT(0/(MID(A1,ROW(1:100),1)="花"))

公式難度:☆☆☆

該公式是數組公式,輸入完畢,要按住Shift+ctrl不放,然後按回車鍵。

接下來咱們簡單說說公式的意思:

一、ROW(1:100)部分,得到1、2、3、4……100的一組序號。


二、MID(A1,ROW(1:100),1)部分,用MID函數分別從A1單元格的第1~100位開始,截取長度為1的字符。

得到一個內存數組結果:

={"詠";"花";"凝";……;"";""}


三、再用等式判斷這個截取到的數組結果中的元素是否等於“花”,得到由邏輯值TRUE和FLASE組成的新內存數組:

{FALSE;TRUE;FALSE;……FALSE;FALSE}


四、用0除以這些邏輯值,0除以TRUE結果為0;0除以FALSE結果為錯誤值#DIV/0!。


五、最後用COUNT函數計算出其中的數值個數,也就是“花”的個數了。


好了,今天咱們的內容就分享到這裡吧,祝各位小夥伴一天好心情!



分享到:


相關文章: