スプレッドシートのプルダウンの作り方|連動プルダウンまで

執筆者:

カテゴリ:

プルダウン(ドロップダウンリスト)は、選択肢から選ばせて入力させる機能です。

見た目の問題ではありません。表記ゆれを防ぐ最も確実な方法です。「東京」「東京都」「トウキョウ」が混在すると、SUMIFCOUNTIF も正しく動かなくなります。入力時に弾くのが最も安上がりです。

作り方(2通り)

「データ → データの入力規則」を開き、条件で「プルダウン」を選びます。

方法1:選択肢を直接入力する

選択肢をその場で打ち込みます。

未処理, 処理中, 完了

手軽ですが、選択肢を変えるたびに設定を開く必要があります。

方法2:別シートのリストを参照する(推奨)

「プルダウン(範囲内)」を選び、リストの範囲を指定します。

=マスタ!A2:A100

リストに追加するだけで選択肢が増えます。 設定画面を開く必要がありません。

複数人で使うファイルや、選択肢が増減するものは必ずこちらにしてください。

選択肢が増えても直さない作り方

範囲を A2:A100 のように広めに取ると、空欄も選択肢として並んでしまう環境があります。

これを避けるには、FILTER で空を除いた作業列を作り、そこを参照します。

マスタ!B2:  =FILTER(A2:A100, A2:A100<>"")
入力規則:    =マスタ!B2:B100

リストに追記すれば自動で反映され、空欄も出ません。

重複を除きたいなら UNIQUE を重ねます。

=UNIQUE(FILTER(A2:A100, A2:A100<>""))

「無効なデータ」の扱い

入力規則には2つのモードがあります。

設定 動き
警告を表示 リスト外も入力できる(赤い印が付く)
入力を拒否 リスト外は入力できない

表記ゆれを防ぐのが目的なら「入力を拒否」にしてください。 警告だけだと、無視して入力されます。

ただし、既にデータが入っている列に後から設定しても、既存の値は変わりません。 赤い印が付くだけです。設定前のデータは別途整える必要があります。

連動プルダウンの作り方

「大分類を選ぶと、小分類の選択肢が変わる」という仕組みです。INDIRECT を使います。

手順

1. 大分類のリストを作る

マスタシートのA列に「果物」「野菜」と並べます。

2. 小分類ごとに名前付き範囲を作る

  • – 果物のリスト(りんご、みかん…)を選択 → 「データ → 名前付き範囲」→ 名前を 果物
  • – 野菜のリスト(にんじん、キャベツ…)を選択 → 名前を 野菜

名前付き範囲の名前と、大分類の値を完全に一致させるのが必須です。

3. 大分類のセルにプルダウンを設定

範囲はマスタのA列。

4. 小分類のセルの入力規則をカスタム数式にする

=INDIRECT($A2)

A2で「果物」を選ぶと、果物 という名前付き範囲がリストになります。

注意点

  • 名前付き範囲にスペースや記号は使えません。 大分類の値も揃えてください
  • – 大分類を変更しても、小分類の値は自動で消えません。 手動でクリアするか、条件付き書式で不整合を目立たせてください
  • INDIRECT は揮発性関数なので、数百行に置くと重くなります

行数が多い場合は、連動プルダウンを諦めて単一のリストに「果物:りんご」のような形で並べるほうが軽くて確実なことがあります。

選択肢によって色を変える

プルダウン自体に色を設定できます(新しいUIでは入力規則の画面から直接指定できます)。

行全体に色を付けたいなら、条件付き書式を使ってください。

=$D2 = "完了"

列だけを $ で固定するのがポイントです。範囲を A2:F1000 にすれば、D列が「完了」の行全体に色が付きます。

ステータスごとに色を分けるなら、条件付き書式のルールを複数追加します。上から順に評価されるので、優先したいものを上に置いてください。

チェックボックスとの使い分け

状況 使うもの
選択肢が3つ以上 プルダウン
ON / OFF の2択 チェックボックス
集計したい どちらでも(チェックボックスは TRUE/FALSE で数えやすい)

集計との組み合わせ

プルダウンで入力を統一すると、集計が確実になります。

=COUNTIF(D:D, "未処理")
=SUMIFS(C:C, D:D, "完了")

ステータスごとの件数を一度に出すなら QUERY が便利です。

=QUERY(A:D, "select D, count(A) where D <> '' group by D", 1)

選択肢が増えても数式を直す必要がありません。

よくある問題

プルダウンが表示されない

  • – セルの入力規則が設定されていない
  • – 「セル内にドロップダウンリストを表示」のチェックが外れている(古いUI)

選択肢に空欄が並ぶ

範囲を広く取りすぎています。FILTER で空を除いた作業列を参照してください。

リストを追加したのに反映されない

入力規則の範囲が、追加した行を含んでいません。範囲を広めに取り直すか、FILTER を使った作り方に変えてください。

連動プルダウンが動かない

  • – 名前付き範囲の名前と、大分類の値が一致していない
  • – 名前にスペースや記号が含まれている
  • – カスタム数式の参照が $A2 ではなく $A$2 になっている(行を固定すると全行が同じリストになります)

Excelとの違い

考え方は同じですが、細部が異なります。

Excel スプレッドシート
設定場所 データの入力規則 データの入力規則
リスト参照 名前付き範囲か直接指定 範囲を直接指定できる
連動 INDIRECT + 名前付き範囲 同じ
選択肢の色分け 条件付き書式のみ 入力規則で直接指定可

Excelでは別シートのリストを参照するのに名前付き範囲が必要でしたが、スプレッドシートは範囲を直接指定できます。設定が簡単なのはスプレッドシートです。

まとめ

  • – プルダウンは見た目ではなく、表記ゆれを防ぐための機能
  • 別シートのリストを参照する作り方にすると、追加が楽
  • – 空欄が並ぶなら FILTER で作業列を作る
  • 「入力を拒否」に設定しないと弾けない
  • – 連動プルダウンは INDIRECT +名前付き範囲。名前と値を完全一致させる
  • – 入力が統一されると、COUNTIFQUERY が確実に動く

関連ページ

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です