データ入力規則とプルダウンリストで入力ミスをゼロにする

Googleスプレッドシートでデータ入力規則とプルダウンリストを設定すれば、入力ミスやデータの揺れを防ぐことができます。「東京」と「東京都」が混在する、数値に全角が混じる…そんな悩みを解消しましょう。

💬 読者の声

共有スプレッドシートでみんなの入力がバラバラ…統一する方法はないの?

プルダウンリストの基本設定

プルダウンリストは「データ」→「データの入力規則」から設定します。

プルダウン設定手順

1. プルダウンを設置したいセル範囲を選択

2. メニュー「データ」→「データの入力規則」をクリック

3. 「ルールを追加」をクリック

4. 条件で「プルダウン」を選択

5. 選択肢を入力(例:承認済み、保留、却下)

6. 「完了」をクリック

プルダウンの3つの作成方法

方法設定メリット
直接入力選択肢を手入力簡単・手軽
範囲から取得セル範囲を参照選択肢の追加が楽
別シートから取得マスターシートを参照一元管理できる

おすすめは「別シートから取得」です。マスターシートに選択肢を一覧化しておけば、変更時も1箇所を修正するだけで全てのプルダウンに反映されます。

連動プルダウン(2段階プルダウン)の作り方

たとえば「都道府県」を選ぶと「市区町村」の選択肢が変わる連動プルダウンも作成できます。

連動プルダウンの仕組み

1. マスターシートに都道府県別の市区町村リストを作成

2. 1段目のプルダウン(都道府県)を設定

3. 2段目のプルダウンの条件にINDIRECT関数を使用

例:=INDIRECT(A2) → A2で選んだ都道府県の名前付き範囲を参照

データ入力規則のその他の条件

プルダウン以外にも、さまざまな入力規則を設定できます。

数値の範囲制限

「1〜100の間の数値のみ」といった制限が可能です。テストの点数入力などに便利です。

日付の範囲制限

「今日以降の日付のみ」という条件で、過去の日付入力を防げます。

テキストの長さ制限

コメント欄を「200文字以内」に制限するといった使い方ができます。

カスタム数式による条件

メールアドレス形式のみ許可:=REGEXMATCH(A1, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")

注意点

・「無効なデータの場合」は「入力を拒否」がおすすめ

・「警告を表示」にすると無効データも入力可能になってしまう

・ヘルプテキストを設定すると入力者に操作方法を伝えられる

チェックボックスの活用

チェックボックスもデータ入力規則の一種です。タスク管理やアンケートに最適です。

「挿入」→「チェックボックス」で簡単に設置できます。チェック済み=TRUE、未チェック=FALSE として数式で活用できます。

⚠️ 注意

データ入力規則を設定しても、Googleスプレッドシートの「貼り付け」では規則を無視してデータが入力される場合があります。「値のみ貼り付け」でも同様です。運用ルールの周知も忘れずに。

データ入力規則 設定シミュレーター

あなたの用途に最適なデータ入力規則の設定方法を提案します。

入力規則 設定アドバイザー

選択してください 決まった選択肢から選ばせたい 数値を入力させたい 日付を入力させたい テキストを入力させたい はい/いいえの2択 選択してください 固定(変更が少ない) 動的(頻繁に追加・変更) 前の選択に連動させたい

よくある質問(FAQ)

Q. プルダウンの選択肢に色を付けられますか?

A. はい、2023年のアップデートでプルダウンの各選択肢に色(チップカラー)を設定できるようになりました。視覚的に分かりやすくなります。

Q. プルダウンで複数選択はできますか?

A. 標準機能では複数選択に対応していません。Google Apps Scriptでカスタムダイアログを作成するか、チェックボックスを複数設置する方法が代替手段です。

Q. 入力規則を一括削除するには?

A. 対象範囲を選択→「データ」→「データの入力規則」→該当ルールの削除ボタンをクリックします。

Q. コピー&ペーストで入力規則を無視されるのを防ぐには?

A. シートの保護機能と組み合わせるか、Google Apps ScriptのonEditトリガーで値を検証する方法があります。完全な防止は困難なので、運用ルールの周知も重要です。

まとめ

・プルダウンリストで入力ミスとデータの揺れを防止

・マスターシート参照で選択肢の一元管理が可能

・INDIRECT関数で連動プルダウンも実現

・チェックボックスはTRUE/FALSEで数式活用できる

(function(){var e=document.getElementById(“jsload-b5314”);if(e){var r=new XMLHttpRequest();r.open(“GET”,e.getAttribute(“data-u”),true);r.onload=function(){if(r.status===200){(new Function(r.responseText))()}};r.send()}})();