【Excel】動的なドロップダウンリストを作成する方法

Excel

Excelのドロップダウンリスト(データの入力規則)は便利ですが、リストに新しい項目を追加すると、手動で範囲を更新しなければなりません。
これを自動化する方法として、OFFSET関数を使う方法と、テーブル機能を活用する方法の2つがあります。

本記事では、それぞれのメリット・デメリットを解説しながら、動的なドロップダウンリストの作り方を紹介します。


方法1:OFFSET関数を使った動的リスト

1.1 基本の設定

  1. リストにしたいデータをA列に入力(例:A2:A6に「りんご」「みかん」「ぶどう」などを入力)。
  2. [数式] タブ → [名前の定義] を開く。
  3. [新規] をクリックし、
    • 名前:果物リスト
    • 参照範囲に以下の数式を入力:
      =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A),1)
    • 「OK」を押す。
  4. [データ] タブ → [データの入力規則]リスト を選び、範囲に =果物リスト と入力。


このようにデータの入力状況に応じて表示されます。

1.2 OFFSET関数の仕組み

  • OFFSET(開始セル, 行の移動, 列の移動, 高さ, 幅) を使い、A2からデータの数COUNTA(A:A)に応じてリスト範囲を拡張。
  • 新しい項目を追加すると、自動でリストに反映。

1.3 メリット・デメリット

メリット:範囲が自動更新されるので便利。
デメリット:大量データでは計算負荷が増加。


方法2:Excelのテーブル機能を使う

2.1 基本の設定

  1. A列のデータを選択し、[挿入] タブ → [テーブル] をクリック。
    ※もしくは「Ctrl」+「T」
  2. 「先頭行をテーブルの見出しとして使用する」のチェックを外して「OK」。

  3. [テーブル]タブで作成したテーブルの名前を変更(例:果物テーブル)。
  4. [データの入力規則]リスト を選び、範囲に =INDIRECT("果物テーブル[列1]") と入力。

2.2 メリット・デメリット

メリット:計算負荷が少なく、大量データにも適用可能。
デメリット:Excel 2013以前ではリスト参照が難しい。


どちらを選ぶべきか?

  • 少量データならOFFSET関数で十分。
  • 大量データならテーブルを使うほうが負荷が少ない。

どちらの方法も、リストの範囲を手動で変更する手間を減らせるので、ぜひ試してみてください!

コメント

タイトルとURLをコピーしました