データの操作

【Excel】入力は半角限定で!という時に役立つ入力規則

スポンサーリンク
この記事は約5分で読めます。

Excel(エクセル)で入力フォーマットを作成した時、「ここは絶対半角で入れてね!」とお願いしても、複数人数で入力しているといつの間にか全角が混じったりするんですよね。入力項目ごとに漢字英数カナと色々な文字種が混在するリストなどで多く見受けられる事象です。

でも、人間ですもの間違う事は誰にでもあります。ミスを見つけるたびカリカリするのもヤだし、でも間違えて欲しくないし・・・とお困りの時は「入力規則」を活用してはいかがでしょう。今回は「データを半角で入れる」ための助けとなる2つの方法を紹介しますので、気になるものがあればトライしてみてください。

※解説画像はMicrosoft365を使用しています

スポンサーリンク

日本語入力モードを自動で切り替える

1つめは、半角で入れて欲しいセルにカーソルが移動したタイミングで日本語入力モードを自動で「半角カナ」や「半角英数」に切り替える設定です。

こちらの例を使ってやってみます。A列に氏名、B列に半角カナでフリガナを入れるという想定です。

リストのフォーマット

入力規則を設定する範囲を選択し、[データ]タブ⇒データツールグループの「データの入力規則」を順にクリックします。

タブとリボンの抜粋

データの入力規則ダイアログボックスが開いたら「日本語入力」タブをクリックします。

日本語入力タブの位置

日本語入力設定ボックスの下向き山括弧をクリックします。

IME設定ボックスの位置

リストを下にスクロールし「半角カタカナ」を選択します。

半角カタカナを選択するところ
はにわ先生
はにわ先生

この例ではフリガナを入力する想定なので「半角カタカナ」を選択していますが、商品コードや社員番号など英数字を入力する列であれば「半角英数字」を設定するなど、入力する内容によって適切な項目を選択してください。

[OK]をクリックしてダイアログボックスを閉じます。

OKボタンの位置

では入力してみましょう。まずA2は氏名ですので半角/全角キーを押し、日本語入力をオンにして入力します。IMEの表示はひらがなモードになっています。

A列に氏名を入力するところ

そのままB列にカーソルを移動します。自動的にIMEが半角カタカナモードに切り替わりました。

B列にカーソルを移動して半角カタカナモードに切り替わったところ

半角でフリガナを入力し、またA列に戻るとIMEはひらがなモードに戻ります。わざわざ無変換キーでモードを切り替えたりF8を押したりする必要なく、スピーディに入力できるようになります。

ただし、この設定はあくまで入力者側のモード切替の手間を省き正しいモードで入力を「促す」設定なので、「半角文字以外は入れられない」という事ではありません。また、入力モード切替の操作も無効にはなっていないので、無変換キーを押してモードを切り替えれば全角カナも普通に入力できてしまいます。

半角カナを入力する時の動作は結構人によってまちまちなので、モードの制御を設定している事を知らせずに「はいここに入力して」とリストを渡してしまうと、かえって入力間違いを誘発したり、入力する人にとって余計な操作を増やしてしまう可能性もあります。そこは作った側の礼儀として、モード切替は不要という点はきちんと説明しておくようにしましょう。

セルに全角文字を入れたらエラーにする

もう1つは、セルに半角ではない文字・・・つまり全角入力するとエラーになるという設定です。

入力規則を設定する範囲を選択したら、「データの入力規則ダイアログボックスを開き「設定」タブをクリックします。

データの入力規則ダイアログボックスの設定tタブの位置

入力値の種類」の下向き山括弧をクリックし、ドロップダウンリストから「ユーザー設定」を選択します。

入力値の種類のリスト一覧

数式」のテキストボックスをクリックしてカーソルを表示したら、以下のように式を入力します。

数式ボックスの入力例

セルB2(もしくはB2を起点とするセル範囲)に入力規則を設定する場合

=LEN(B2)=LENB(B2)

※お手元のExcelシートで試す場合は()内のセル番地を設定したいリストのセル番地に適宜変更してください。

これは「LEN(レン)関数」と「LENB(レンビー)関数」という2つの文字列操作関数を組み合わせた式です。どちらも対象のセルに入力された文字数をカウントするものですが、LENは「半角全角問わず1文字を1」として数え、LENBは「半角文字を1バイト、全角文字を2バイト」として数え、結果を数値で返します。

LENとLENBの解説

そこで先ほどの数式に戻りますが、これは日本語にすると「LEN関数で数えたセルB2の文字数」と「LENB関数で数えたセルB2の文字数」がイコールという内容になっています。(頭の=はExcelに「これは数式だよ」と教えるためのお約束記号です)

すべて半角文字で入れていなければLENとLENBの結果数値に必ず差異が生じます。その特徴を利用して、万一全角文字で入れてしまった箇所があり数に差異が生じたら「規則に則っていない」と判定されエラーになる、というわけですね。

LENとLENBの結果比較

という事で、入力が終わったら[OK]をクリックしてダイアログボックスを閉じましょう。

どぐうさん
どぐうさん

数式のセル番地は相対参照($がつかない状態)で入っていますので、セル範囲を選択してから入力規則を設定した場合は、[OK]をクリックした時点でセル番地が自動的に変化し、すべてのセルが自セルの値を検証するようになります。

ではフリガナを入力してみます。「半角カタカナ」で入力するとすんなり入りますが・・・

半角カタカナで入力した状態

全角カタカナで入力するとEnterを押したと同時にエラーメッセージが表示されます。[再試行]をクリックすると入力した文字列が全選択された状態になります。また、[キャンセル]をクリックするとセルに入力した値がクリアされます。そのまま正しく半角カナで入れ直しましょう。

ちなみに入力規則の設定は一見強固そうに見えますが、
・他のセルから値をコピーして貼り付けられた場合
・「エラーメッセージ」を表示しない設定にしている場合
は規則に則っていない値が入力されてもそのまま素通しになるので注意しましょう。

※オリジナルのエラーメッセージを作りたい!という時はこちらをどうぞ

https://www.anadigilife.com/excel-inputrule-messagebox/

スポンサーリンク