Introduction
Ver. all 2013 2016 2019 365
エクセルで、半角全角どちらかに統一されているデータ内に、別の文字が混じっていないか確認する方法です。LEN関数とLENB関数を使用しましょう。
文字のデータサイズをチェックすることで簡単にチェックできますよ。
文字のデータサイズで比較するにゃ
全角文字と半角文字のバイト数
文字には全角と半角の2種類が存在します。
全角の横幅だけが半分になったのが半角です。
※ちなみに、ひらがなや漢字は全角しか存在しません。
そして、文字を扱うためのデータ量が全角と半角では異なります。
全角は「2バイト」必要としてますが、半角は「1バイト」で済みます。
- 全角・・・2バイト
- 半角・・・1バイト
ということは、下のような「7文字」のデータで文字数を数えた場合、全てが半角文字であれば7バイト、全角文字であれば14バイトということになります。
これを利用すれば、全角半角が混じっているか確認できそうですね。
それぞれを確認できる関数が下の2つです。
- 文字数を調べる・・・LEN関数
- 文字列のバイト数(データ量)を調べる・・・LENB関数
どちらの関数も、引数(括弧の中)は対象となるセルを指定するだけの簡単な関数です。
LEN関数・・・文字列の文字数を返す
LEN(文字列)
- 文字列・・・文字数を調べるセルを指定
LENB関数・・・文字列のバイト数を返す
LENB(文字列)
- 文字列・・・文字列のバイト数を調べるセルを指定
チェックする場所の文字数が決まっている場合
調べたいセルの文字数が分かっている場合は簡単です。
LENB関数を使用して、対象セルのバイト数を確認してみましょう。
全て半角であれば、文字数そのままの数字が表示されるはずですし、全て全角であれば、文字数の2倍の数字が表示されるはずです。
下の図は、7文字の半角データに全角が混じっていないかチェックしたい場合の例です。
もし、全角のデータが混じっていれば、「7」より大きい数字が表示されるはずです。
=LEN(A2)
結果は下のようになりました。
どうやら、2つのセルに全角が混じっていたようですね。
調べるセルの文字数が決まっていない場合
チェックしたいセルの文字数がバラバラの場合は、文字数とバイト数、両方を調べて比較しましょう。
下のようにLEN関数とLENB関数を両方使用して、文字数とバイト数をチェックします。
今回は、半角の文字列に全角文字列が混じっていないかチェックしてみます。
※逆に全角データに半角が混じっていないかチェックしたい場合は、LEN関数の式に「*2」を追加しましょう。=LEN(A2)*2
そのまま式をオートフィル機能を使用してコピーすると、下のようになりました。
全て半角データであれば、両方の数字は一致しているはずです。
大量のデータをチェックするには、2つのセルを「=」で結んで比較しましょう。
一致している場合は「TRUE」と表示され、一致していない場合は「FALSE」と表示されます。
もし、この作業を一つの式で終わらせたい場合は下のようになります。
=IF(LEN(A2)=LENB(A2),””,”×”)
「もし、文字数とバイト数を比べて、等しければ空欄にする。違う場合は×と表示する」
という感じ。
結果、半角に全角が混じっていた場合は「×」が表示されます。
まとめ
フォント(文字)の種類によっては、半角と全角が見た目では判別できない事があります。
印刷した時に、初めて気が付くことも・・・。
そんな時もこの方法でチェックすればOKですね。
- 文字数を調べる・・・LEN関数
- 文字列のバイト数を調べる・・・LENB関数
長さを英語で言うと「LENGTH」
その最初をとって「LEN」関数。
覚えやすいですね。
情報量の単位である「Byte」の「B」を最後につけたのが「LENB」関数。
こうやって覚えておくと名前が浮かびやすいのではないでしょうか。
文字数を調べるLEN関数は、文字列操作をする際には登場する機会の多い関数ですよ。
ちなみに記号にも半角全角が存在するにゃ