一比鴨鴨 一比一比鴨
一比鴨鴨 一比一比鴨
一比鴨鴨 一比一比鴨鴨
一比一比鴨鴨 一比一比鴨
請問上面的歌詞裡面,「一」出現了幾次、「比」出現了幾次、「鴨」又出現了幾次呢?我用 Google 試算表算給你看!
如果你沒聽過這首兒歌的話,這邊放上 YouTube 的連結:
(引用來源:momokids 親子台)
這邊是歌詞,我把它放在工作表「歌詞」這邊:
看了一下歌詞,感覺用簡單的 COUNTIF
來算即可。
但目前歌詞全都放在一個儲存格裡面,我得把這些字一個個打散、放到一個範圍裡面。所以過程就會是:
COUNTIF
來求答案。所以我新增了一個「計算過程」的工作表:
好,來看看怎麼做!
因為這邊的儲存格沒有任何字元可以把歌詞一個個分割,所以不能用 SPLIT
函式或是系統內建的分割功能來取,得用 MID
一個個做。
我想到用 MID
取得第一個字、第二個字、第三個字⋯⋯,取到第 N 個字,像是這樣:
=MID(歌詞!A2, 1, 1)
=MID(歌詞!A2, 2, 1)
=MID(歌詞!A2, 3, 1)
...
=MID(歌詞!A2, N, 1)
這邊的 N
是指歌詞裡最後一個字的位置。
問題在於中間的 1、2、3 要怎麼生成。
如果要一個個儲存格取,也非常不方便,所以想到了用 SEQUENCE
函式跟 ArrayFormula
的結合:
=ArrayFormula(MID(歌詞!A2, SEQUENCE(1, N), 1))
N 就是整個歌詞的總字數,也就是字元長度。這麼一來,ArrayFormula
就會幫我處理 SEQUENCE
函式的結果,建立從 1 到 N 的數列(1、2、3、⋯⋯、N)。
至於這個 N 的寫法,就用 LEN
函式來取歌詞的長度就可以了。
所以把所有的想法組成,寫到這邊是:
=ArrayFormula(MID(歌詞!A2, SEQUENCE(1, LEN(歌詞!A2)), 1))
來看看執行結果:
欸,等等,資料全部往右長了(笑)!
雖然到這步驟已經可以用 COUNTIF
來算了,但是有點長得不是很好看,所以我用 TRANSPOSE
函式把這一列轉過來,也就是:
=TRANSPOSE(ArrayFormula(MID('歌詞'!A2, SEQUENCE(1, LEN('歌詞'!A2)), 1)))
舒服多了!前進到第二步的 COUNTIF
來收尾吧。
這邊再準備一下 COUNTIF
的表格:
在 D2 寫 COUNTIF
:
=COUNTIF($A$2:$A, C2)
我們得到 13:
代表這段歌詞裡面「一」有 13 個!
再來看看「比」跟「鴨」有多少。把算式套用到下面兩個儲存格:
算完了!所以結論是:
一有 13 個、比有 13 個、鴨有 13 個,
三個字出現的次數一樣多!(笑)
另外也有網友製作了動畫,你可以看看單字隨著歌曲進行增加的統計:
(引用來源:數據實驗室-Data Lab)
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
想要看更多文章的話,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!