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

據說昨天Excel有兩種bug發生率比較高:一種悲催是這樣:

更加悲催的是這樣:

哈哈哈,言歸正傳,今天和大傢分享一個字符計算的公式實例。如下圖所示,要統計A1單元格內包含幾個“花”字?

公式一:=LEN(A1)- LEN(SUBSTITUTE(A1,”花”,))公式難度:公式中有兩個函數,分別是LEN和SUBSTITUTE。LEN函數用於計算字符長度。SUBSTITUTE 函數用於替換字符串中的部分內容。該函數的用法是:SUBSTITUTE(要處理的單元格或文本,要換掉啥,用啥來替換,替換第幾次出現的字符)如果指定瞭第四參數,則隻有指定條件的舊文本被替換;否則會將全部舊文本都更改為新文本。

接下來咱們看看公式各個部分的意思:1、LEN(A1)部分,作用是計算出A1單元格的字符總數。2、SUBSTITUTE(A1,”花”,)部分,作用是替換掉A1單元格內所有的“花”。3、LEN(SUBSTITUTE(A1,”花”,))部分,計算出替換掉“花”之後的字符個數。4、最後使用A1單元格的字符總數,減去替換掉“花”之後的字符個數,計算出A1 單元格內有幾個“花”。本例中SUBSTITUTE第三參數省略參數,相當於將舊字符刪除。第四參數省略,表示將所有的“花”都進行替換。

公式二:=COUNT(0/(MID(A1,ROW(1:100),1)=”花”))公式難度:該公式是數組公式,輸入完畢,要按住Shift+ctrl不放,然後按回車鍵。接下來咱們簡單說說公式的意思:1、ROW(1:100)部分,得到1、2、3、4……100的一組序號。2、MID(A1,ROW(1:100),1)部分,用MID函數分別從A1單元格的第1~100位開始,截取長度為1的字符。得到一個內存數組結果:={“詠”;”花”;”凝”;……;””;””}3、再用等式判斷這個截取到的數組結果中的元素是否等於“花”,得到由邏輯值TRUE和FLASE組成的新內存數組:{FALSE;TRUE;FALSE;……FALSE;FALSE}4、用0除以這些邏輯值,0除以TRUE結果為0;0除以FALSE結果為錯誤值#DIV/0!。5、最後用COUNT函數計算出其中的數值個數,也就是“花”的個數瞭。

赞(0)