タグ: 入力規則

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

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

    見た目の問題ではありません。表記ゆれを防ぐ最も確実な方法です。「東京」「東京都」「トウキョウ」が混在すると、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 が確実に動く

    関連ページ