【´・ω・`】:A1に「Nothing is as important as health.」と入力されているとして・・・
単語数を数えるやり方を考えてみよう。前回、Count系の関数では
うまくないことは述べた。
(●`ε´●):Count系の関数はセルの個数を数えるのに使うんだったな。
【´・ω・`】:うん、そういうこと。では復習は終わり。それでは「単語数を数える(2)」を
始めようか。
「Nothing is as important as health.」の文字数はいくつだ?
(●`ε´●):え~と。ピリオドまで入れて29文字だ。
【´・ω・`】:本当か?
(●`ε´●):ああ、よ~く数えたんだから間違いない!
【´・ω・`】:じゃあ、文字数を数えるLEN関数で確かめてみてくれ。
(●`ε´●)………あれ、???
【´・ω・`】:どうしたんだ?
(●`ε´●):29にならない。34になってしまう。どうしてだ?!
【´・ω・`】:べべちゃんが文字数を数えたときは無意識のうちにスペースを
除いて数えていた。だから文字数が29になった。しかし…。
(●`ε´●):しかし、LEN関数はスペースも文字として扱い、それを
勘定に入れて数えていたから34になった。
【´・ω・`】:その通り!だから34から29を引いた5がスペースの数だ。
(●`ε´●)::そしてその5に1を足した6が単語の数だ!!
【´・ω・`】:ビンゴ!!それでは以下にスマートなやりかたの手順を
しめそう。A1に元になる英文が入力されているとして…
1.B1に=LEN(A1) 元になる英文の文字数を求める。先の例では34。
2.C1に=SUBSTITUTE(A1, " ","") 半角スペースを消去。
※SUBSTITUTE関数の書式は以下の通り。この関数には置換機能がある。 |
=SUBSTITUTE(A1, "検索する文字列 ","置換したい文字列")
|
3.D1に=LEN(C1) スペース消去後の文字数を求める。先の例では29。
4.E1に=B1-D1 元になる英文に含まれるスペースの数を求める。 「元になる英文の文字数」-「スペース消去後の文字数」先の例では5。
5.F1にE1+1 「元になる英文に含まれるスペースの数」+1。これが単語の数。先の例では6。
★エラー対策
【´・ω・`】:さて、ここまでで基本的なことが終わった。
(●`ε´●):これから何をやるんだ?
【´・ω・`】:仕上げとしてエラー対策だ。
(●`ε´●):エラー対策?
【´・ω・`】:そう。例えば今作った式は |
単語数= 「元になる英文に含まれるスペースの数」+1 |
という考えに基づいている。これには大きな落とし穴があるんだ。
(●`ε´●):落とし穴?
【´・ω・`】:うん。確かに大概の場合はこの式が成立する。
しかし、英文の入力してある蘭を空欄にしてみて欲しい。
(●`ε´●):あっ!単語の数は当然、0にならなければいけないのに、
1と表示されている!
【´・ω・`】:そう。これは明らかにおかしい。空欄の時は別扱いに
しなければならない。 |
単語数= IF(空欄, 0, 「元になる英文に含まれるスペースの数」+1) |
とするか
|
単語数= 「元になる英文に含まれるスペースの数」+IF(空欄, 0, 1) |
とするのが基本かな。
snsSample012.lzhをダウンロード |
|
I really like your blog.. very nice colors & theme. Did you design this website yourself or did you hire someone to do it for you? Plz respond as I'm looking to construct my own blog and would like to know where u got this from. appreciate it
サッカニー JAZZ http://www.kloudserve.net/saucony サッカニー-shoes-9.html
投稿情報: サッカニー JAZZ | 2013年11 月 1日 (金曜日) 午後 10時09分