LEN関数と SUBSTITUTE関数を使って英単語を数えます

 文章そのものをデータベースとして活用するときなど、単語の総数を知りたいときがあります。日本語の文章だと単語同士の区切りがどこにあるのかわからないので相当に難しいのですが、英語の場合は単語間スペースを利用して比較的簡単にカウントすることができます。

 今回は LEN関数SUBSTITUTE関数 を使って英単語を数えてみますよ。
 ちょっと算数みたいなとこがあるけど、そのへんも楽しんでくださいな。

 LEN関数は文字数を数えます。

=LEN("Kobato")

と入力すると「 6 」という文字数を返してきます。 SUBSTITUTE関数はある文字列の中にある文字を別の文字に置き換えます。たとえば

=SUBSTITUTE("こばとちゃん","こばと","マリ")

のように入力すると「こばとちゃん」という文字列の中の「こばと」の部分が「マリ」と置き換えられて「マリちゃん」と返してきます。
 

英単語を数えてみましょう

 それではまずシートに次のような例文を用意しましょう。
 [ ] は英文が入っているセル番地です。

 [B3] Hi! I am Linguistic Fairy Kobato!
 [B4] I was born in Kyoto.
 [B5] I will be 1030 years old this year.

 1つの文を1つのセルに入れることにして、下図のようなシートを作ります。

 LEN英単語数をカウント

 最初の文が入っているのは B3 セルです。

=LEN(B3)

は半角スペースも含めた文字数を計算します。そして

=SUBSTITUTE("B3"," ","")

は B3 にある英文から、「 " " 」(半角スペース)を、「 "" 」(何もない状態)に置き換えます。つまり半角スペースを削除して、

Hi!IamLinguisticFairyKobato!

という文字列を得ていることになります。この文字列に含まれる文字数は、

=Len(Hi!IamLinguisticFairyKobato!)

によって求められます。これを元の英文の文字数から差し引くと、元の英文に含まれていた半角スペースの数となりますね。そしてそれに 1 を加えると単語数が得られるという仕組みです! というわけで C3 には

=LEN(B3)-LEN(SUBSTITUTE(B3," ",""))+1

と入力しましょう。そして C5 まで同じ数式をオートフィルで埋めて、 C5 には

=SUM(C3:C5)

と入力して合計しておきます。これで全文の単語数をカウントできました!

 え? こばとちゃんは本当に 1030 歳なのかって?
 ...... ごめんなさい。本当は今年で 1032 歳です
 ...... ちょっとだけ、サバ読んじゃいました。 ⇒ データベース研究所トップページ

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください