「データ」タブの「データツール」→「データの入力規則」を使うと、セルに入力されるデータを規制することができる。たとえば図1のように入力規則を指定したセルには、100から150間の整数しか入力できなくなる。
もし規則に反したデータを入力しようとしても、データは入力できず、注意のメッセージが表示される。
ただし、これはキーボードからデータを入力したときの話。入力規則が設定されているセルであっても、次のような方法で無効なデータを入力することは可能だ。
(1)計算式を入力する
セル B2に図1の入力規則が設定されているとする。まず、条件に一致する数値をセルA1に入力しよう。次に、セルB2に「=A1」という参照式を入力する。結果は入力規則の条件範囲内なので無事に表示される。では、セルA1に無効なデータを入力したらどうだろう。一度入力が許可された計算式は、計算結果が後で変更されても入力規則のチェック対象にはならない。
(2)形式を選択して貼り付ける
(1)の方法はセルA1という共犯者が必要だったが今度のは単独犯だ。無効なデータが入力されているセルを選択して「コピー」を実行する。コピー元セルの周囲に点線が点滅したら入力規則が設定されているセルを選択して「ホーム」タブの「クリップボード」グループ「貼り付け」ボタンの「▼」をクリックし、「形式を選択して貼り付け」を実行する。表示される「形式を選択して貼り付け」ダイアログボックスで「値」のチェックをオンにして「OK」ボタンをクリックする。ESCキーを押してコピーモードを終了すればおしまい。コピー元セルを削除しておけば痕跡も残らない。
(3)マクロで入力する
マクロで入力されたらお手上げだ。どんなデータでも入力されてしまう。実行するコードは「Range("B2") = 80」と簡単だ。
このように、入力規則が設定されているセルには、条件に反した無効なデータが入力されてしまう可能性がある。そこで、そうした無効データが入力されていないかどうかをチェックする機能もExcelには用意されている。
「データ」タブ「データツール」グループにある「データの入力規則」ボタンの▼をクリックして「無効データのマーク」を実行すると、アクティブシートの入力規則が設定されているセルのうち、無効なデータが入力されているセルが赤い楕円で囲われる。赤い楕円を消すには、同じ▼ボタンから「入力規則マークのクリア」を実行すればいい。