もりさんのプログラミング手帳

教えることは、二度学ぶこと

スポンサーリンク

【Excel実務】セルへの全角文字の入力を禁止したい(条件付き書式編)

別記事で紹介したこちらの設定と合わせて使ってみてください。
【Excel小技】セルへの全角文字の入力を禁止したい(データの入力規則編)

前回は、全角文字が入力できないように、
「データの入力規則」
を設定しましたね。

この設定、実は、

「そのセルに直接値を入力しようとした場合」のみ有効
であって、
「他のセルの値をコピー&貼り付けした場合」は無効

なのです。
 
(なんという抜け道!!)

そこで、今回はもう一つ別の設定方法を紹介しますね。

f:id:excel-accounting:20180415204119p:plain:w400

設定方法

「条件付き書式」を使用して、全角文字が含まれるセルに警告色を付ける。

警告色を付ける対象のA列を範囲選択
f:id:excel-accounting:20180119200541p:plain

[ホーム]タブ→[条件付き書式]→[ 新しいルール ]を選択
f:id:excel-accounting:20180119200643p:plain:w200


下記①~③の手順で設定。
②の計算式=LEN(A1)<>LENB(A1)

f:id:excel-accounting:20180412195519p:plain:w400


書式設定(ここでは赤色にします)

f:id:excel-accounting:20180412195540p:plain:w400


「プレビュー」で色が設定されているのを確認し、OKを押す

f:id:excel-accounting:20180412195911p:plain:w400


全角文字が含まるセルが赤くなりました。

f:id:excel-accounting:20180412200308p:plain

A列全体を選択したので、A1セルの「社員ID」まで赤くなってますね。
("社員"が全角のため)

書式設定範囲のうち、「特定のセル」のみ書式を解除したい場合、

そのセル(ここではA1セル)を選択した状態で、
[条件付き書式]→[ルールのクリア]→[選択したセルからルールをクリア]を選択

f:id:excel-accounting:20180119202500p:plain:w400


これでA1セルは書式設定の対象外になりました。

f:id:excel-accounting:20180412200343p:plain

仕組み解説

前回の「データの入力規則編」ではASC関数を使用しました。

今回はLEN関数LENB関数を使用しています。

LEN関数:文字列の長さ(文字数)を返します。半角と全角の区別なく、1文字を1として処理します。
LENB関数:指定した文字列の文字数を返します。半角文字は1バイト、全角文字は2バイトとなります。

つまり、半角A全角Aの、LEN関数、LENB関数の返り値は下記のようになります。
f:id:excel-accounting:20180119201319p:plain

f:id:excel-accounting:20180412202728p:plain

セルに入力されている文字(xとする)がすべて「半角」の場合、
LEN(x)= LENB(x)
となりますね。

ですので、逆の発想をして、警告色の条件式では
LEN(x) <> LENB(x)
としているのです。
※<> は≒(ノットイコール)

ノットイコールの条件がTRUEになったとき、
つまり、
LEN関数の返り値LENB関数の返り値が異なる場合、
色を付ける、という仕組みです。

この条件付き書式は条件設定に色々な関数を組み合わせることで、とても活躍する機能です。
ガンガン使い倒しましょう!

スポンサーリンク