2024年3月11日【ID:0】
【Excel】姓と名の間に半角スペースの入力を強制
以下のような名前を入力する項目に、「姓と名の間に半角スペースを入力する」というルールを設けているとします。
このルールを入力時に強制する設定方法について解説していきます。
特定の条件を満たしている値のみの入力しか許可しないようにするには、「データの入力規則」を活用します。
まずは、データの入力規則に設定する条件式を考えていきます。
条件式では、「姓と名の間に半角スペースが入力されている場合」という内容を表現する必要があります。
特定の文字に半角スペースが含まれているのかどうかを確認するには、COUNTIF関数を活用します。
=COUNTIF(範囲, 検索条件)
// 指定した範囲の中で検索条件を満たしている数を返す
「半角スペースを含む」という条件を言い換えると「半角スペースの左右に何かしらの文字が入力されている」とも表現できます。
この「何かしらの文字」というものは、ワイルドカードを使用することで表現することができます。
・何かしらの文字(1文字):?
・何かしらの文字(0文字以上):*
ワイルドカードを使用して、「?_?」(_は半角スペース)と表現すると、「半角スペースの左右に何かしらの1文字が入力されている」という意味になります。
ただ、左右には苗字や名前が入るため、1文字とは限りません。
そのため、「0文字以上」という条件を加えて、「*?_?*」(_は半角スペース)と表現することができます。
実際にCOUNTIF関数で表現した例が以下になります。
=COUNTIF(B3,"*? ?*")
このように、半角スペースが含まれているセルに対してのみ、「1」と表示することができました。
では、この式を「データの入力規則」にて設定していきます。
対象の範囲を選択し、[データ]タブの中の[データの入力規則]を選択します。
表示された設定画面にて、[入力値の種類]を「ユーザー定義」にし、[数式]に先ほどの数式を入力します。
=COUNTIF(B3,"*? ?*")
// B3はアクティブセル(他の選択範囲には相対参照で反映される)
必要に応じて、[エラーメッセージ]タブにて、エラーメッセージの設定をすると良いです。
以上の設定により、設定した範囲に関しては、半角スペースの入力がない場合に警告が表示され、入力ができなくなります。
※データの入力規則で設定した入力制限は、セルへの値の貼り付けには対応しておりません。そのため、この設定は直接入力される場合に関してのみに制限がかかります。