エクセル入門
入力規則.ユーザー設定(重複、全角チェック等)

Excelの初心者向け入門解説
最終更新日:2021-05-22

入力規則.ユーザー設定(重複、全角チェック等)


ユーザー設定の数式に様々な数式を入れることで様々な規則を設定することができます。
以下の3通りを例に説明します。
・他のセルとの重複を許可しない
・全角文字しか入力できないようにする
・半角文字しか入力できないようにする
・ある文字を含む場合のみ許可する


入力規則の数式で関数を使って規則を設定します。


他のセルとの重複を許可しない

以下ではA列において、重複を許可しない場合の操作方法になります。

リボンの「データ」タブ

「データの入力規則」

「設定」タブ

「入力値の種類」のドロップダウン
「ユーザー設定」を選択します。


エクセル Excel 重複を許可しない 入力規則


「数式」のボックスで
以下を入力します。

=COUNTIF(A:A,A1)=1
範囲の中で、指定した条件を満たすセルの個数を数えます。COUNTIF関数の書式 COUNTIF(範囲,条件) 指定した条件を満たすセルの個数を数えます。1つの条件に基づいてのみカウントできます。複数の条件を使用するには、COUNTIFS関数を使います。

OK

これで重複を許可しない入力規則が設定されます。

エクセル Excel 重複を許可しない 入力規則

数式

A1セルがアクティブセルとなっているので、A1セルに対する数式として入力します。
=COUNTIF(A:A,A1)=1
範囲の中で、指定した条件を満たすセルの個数を数えます。COUNTIF関数の書式 COUNTIF(範囲,条件) 指定した条件を満たすセルの個数を数えます。1つの条件に基づいてのみカウントできます。複数の条件を使用するには、COUNTIFS関数を使います。
これは、A列において、
アクティブセル(A1)のセル値と同一のセルが1つのだけの場合にOKとなります。
結果として、
重複している場合は、この値が2となり入力できなくなります。

入力規則の注意点

コピー&ペーストで値貼り付けした場合には、
入力規則は残りますが、入力規則の制限にかかわらず入力出来てしまいます。


以下、操作や注意点は同じなので、数式のみ紹介します。


全角文字しか入力できないようにする

A1セルを全角文字のみ許可する入力規則を設定します。


エクセル Excel 入門 入力規則

=A1=JIS(A1)
文字列内の半角(1バイト)の文字を全角(2バイト)の文字に変換します。JIS関数の書式 JIS(文字列) 文字列 文字列またはセル参照を指定します。文字列に半角の英数カナ文字が含まれない場合は、文字列は変更されません。

JIS関数は全角に変換する関数ですので、元の値と全角変換したものが一致していれば良いという事です。


半角文字しか入力できないようにする

A1セルを半角文字のみ許可する入力規則を設定します。

エクセル Excel 入門 入力規則

=LEN(A1)=LENB(A1)
LEN関数は文字列の文字数を返します。LENB関数は文字列のバイト数を返します。LEN関数の書式 LEN(文字列) 文字列 文字数を調べる文字列を指定します。LENB関数の書式 LENB(文字列) 文字列 バイト数を調べる文字列を指定します。

「日本語入力」を無効にすれば、IMEが無効なので入れられなくなります。
しかし半角カナも入れられなくなります。
半角カナも入れたい、そんな場合はLENとLENBを比較して一致していれば半角だという判断ができます。


ある文字を含む場合のみ許可する

「入力規則」の「ユーザー設定」を使う事で様々な規則を設定できます。
ワイルドカードが使える関数を使用すると様々な形式を指定できます。
このときに使う関数は、

COUNTIF関数
範囲の中で、指定した条件を満たすセルの個数を数えます。COUNTIF関数の書式 COUNTIF(範囲,条件) 指定した条件を満たすセルの個数を数えます。1つの条件に基づいてのみカウントできます。複数の条件を使用するには、COUNTIFS関数を使います。
SEARCH関数
指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その位置番号を返します、大文字と小文字は区別されません。SEARCH関数の書式 SEARCH(検索文字列,対象[,開始位置]) ※[]は省略可能です。, 検索文字列 検索する文字列を指定します。

このどちらでも良いでしょう。

例えば、"@"が文字列中に含まれていなければならない規則を作る場合は、

=COUNTIF(A1,"*@*")
=SEARCH("*@*",A1)

これは本来はIF関数等で結果をTRUE/FALSEにしたほうが良いのですが、上記の場合は結果が1の時だけ成立、それはつまりTRUEなのでIFを省略しました。




同じテーマ「エクセル入門」の記事

入力規則.リスト
入力規則.日付・時刻
入力規則.文字列の長さ指定
入力規則.ユーザー設定(重複、全角チェック等)
入力規則.日本語入力
数式とは
絶対参照と相対参照
SUM関数(引数を合計)
IF関数(条件を満たしているかどうかを判定)
関数のネスト
SUMIF関数(検索条件に一致するセルの合計)


新着記事NEW ・・・新着記事一覧を見る

日付型と通貨型のValueとValue2について|エクセル雑感(2021-06-26)
DXってなんだ? ITと何が違うの?|エクセル雑感(2021-06-24)
エクセルVBA 段級位 目安|エクセル雑感(2021-06-21)
ローカル版エクセルが「Office Scripts」に変わる日|エクセル雑感(2021-06-10)
新関数SORTBYをVBAで利用するラップ関数を作成|VBA技術解説(2021-06-12)
VBA今日のひとこと on Twitter|エクセル雑感(2021-06-10)
VBAの演算子まとめ(演算子の優先順位)|VBA技術解説(2021-06-09)
画像が行列削除についてこない場合の対処|VBA技術解説(2021-06-04)
エクセル関連で「いいね」の多かったツイート|エクセル雑感(2021-05-17)
キーボード操作だけで非表示列を表示|エクセル雑感(2021-05-11)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.Excelショートカットキー一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.RangeとCellsの使い方|VBA入門
5.マクロって何?VBAって何?|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ