Googleスプレッドシートの入力規則で候補外の文字を入力できてしまう場合、[警告を表示]にしていないかを確認します。候補外の入力を受け付けたくないときは、入力規則の**[データが無効の場合]を入力拒否にする**必要があります。警告は入力禁止と同じではありません。

警告と入力拒否の動作差を確認

例えば申請状態列に「未対応/対応中/完了」の3つだけを許す場合、警告方式では完了済という候補外の文字が残り、集計が分裂する可能性があります。

Google公式のプルダウン作成手順では、無効な値は通常拒否され、候補外の値も入力可能にしたい場合は詳細オプションで[警告を表示]を選択する構成が説明されています。以前に作ったルールや既存の入力を含む場合、実際のルールを開いて現状を確かめてください。

対象セルと許可する値を設計する

  1. まずステータス列の利用範囲(例:D2:D200)と、許可する候補3件を確定します。
  2. 対象セルを選び[データ]→[データの入力規則]でルールを開きます。
  3. [条件]で候補の直接指定または参照元範囲を指定します。手入力を禁止したい場合は、[詳細オプション]の「データが無効の場合」を入力拒否に設定します。
  4. [完了]し、対象範囲の代表セルへ候補外の値を入力して、拒否されるかを確認します。

ルールがD2だけに適用されていてD3以降が無制限なら不十分です。適用先範囲と候補の元範囲を混同しないでください。

既に入っている不正値を洗い出す

新しく入力拒否にしても、既存の候補外値が自動で正規化されるとは限りません。既存の申請表をコピーし、D列に未対応・対応中・完了以外の値が残っていないか確認します。

E2に次の確認式を置く例です。

=IF(D2="","未入力",IF(COUNTIF({"未対応","対応中","完了"},D2)=0,"候補外","OK"))

この式はサンプルの判定式であり、元列の値を変更しません。空欄を認める業務なら未入力をエラーにするかどうかは別に設計します。ステータスの表記ゆれを修正する際は、既存の意味を人が確認してください。

共同編集者へルールを伝える方法

候補を選ぶ操作だけでなく、いつ誰が状態を変えるのかという業務ルールも揃えます。「対応中」は担当者が作業に着手した時点、「完了」は確認者が承認した時点など、定義が異なれば同じ候補でも情報が不一致になります。

入力拒否は意図しない値の流入を減らす設定ですが、権限を持つ編集者がルール自体を変更できる場合もあります。データの保護や編集権限が必要な表では、入力規則だけでアクセス制御が完成したと考えないでください。

参考資料

おすすめの記事