文字数の数え方ちゃんと知ってる?
スプレッドシートには文字列の長さを数える単位は2種類あります。
「文字数」と「バイト数」ですね。
これってちゃんと違いというか数え方知ってますか?
今日は、「文字数」と「バイト数」いついて説明したいと思います!
文字数
文字数の場合は、文字は「半角」か「全角」かに関わらず一つの文字をそのまま1個と数えます。つまり全角の「カタカナ」も半角の「カタカナ」も同じ4文字です。
LEN関数
文字数を数える関数として、スプレッドシートでは「LEN関数」が用意されています。
引数で指定した文字列を文字数単位で数えてくれます。引数はセルの参照でもOKです。
【サンプル】
図のように、B列い入力した文字列の文字数を「LEN関数」で
数えてみます。
C3セルに「=LEN(B3)」と入力して、C9セルまで数式をコピーしましょう。
はい、C列にB列の文字数が表示されました。ここで注目して欲しいのは、6行目・8行目の半角「バイト」と半角「パイン」です。それぞれ全角では3文字なのに対し、半角では4文字と表示されています。
実は、半角のカタカナは、濁音などは1文字と数えられるんですね。このへんはちゃんと覚えておかないと、LEN関数で文字数を数えた時にちょっとズレが出てきちゃうかもしれませんので注意して下さい。
バイト数
一方「バイト数」は「半角文字」を「1」、「全角文字」を「2」として数えます。
ここは少し注意してください。Excel関数のLENB関数の数え方と少し違いがあります。
ExcelのLENB関数では、半角カタカナは「1バイト(濁点とかも1バイト)」ですが、スプレッドシートの場合は、半角カタカナは「2バイト(濁点とかも2バイト)」です。
LENB関数
バイト数で数えてくれる関数は「LENB関数」です。
「LEN」の後にバイトの「B」をつけた名前なので覚えやすいですね。
先程のサンプルで試してみましょう。
D3セルに「=LENB(B3)」と入力して、D9セルまで数式をコピーしましょう。
こんな感じですね。
先程説明した通り、半角のカタカナ「バイト」「パイン」に注目してください。
LENB関数では、いずれも「8バイト」となっています。半角カタカナは2バイト、そして半角カタカナの濁点なども2バイトで数えられていることが分かります。
Excelからのコピペなどでは注意が必要な部分ですね。
文字の長さに関する関数
「LEN関数」「LENB関数」以外にも、文字の長さに関する関数は用意されています。いずれも「文字数単位」「バイト数単位」の2種類が用意されているので、ここまで説明した違いを理解した上で使って下さい(^^)
その他の文字列の長さに関する関数
まとめ
文字数単位じゃ上手くいかない時、またその逆のパターンもありえます。場面に合わせてどちらが良いのか使い分けていって下さい(^^)
Excelとスプレッドシートも仕様が少し違う部分があるので、少し違うからこそ注意しないといけない点がちょこちょこありますね(^o^)
コメント