Excelのドロップダウンリスト(データの入力規則)は便利ですが、リストに新しい項目を追加すると、手動で範囲を更新しなければなりません。
これを自動化する方法として、OFFSET関数を使う方法と、テーブル機能を活用する方法の2つがあります。
本記事では、それぞれのメリット・デメリットを解説しながら、動的なドロップダウンリストの作り方を紹介します。
方法1:OFFSET関数を使った動的リスト
1.1 基本の設定
- リストにしたいデータをA列に入力(例:A2:A6に「りんご」「みかん」「ぶどう」などを入力)。
- [数式] タブ → [名前の定義] を開く。
- [新規] をクリックし、
- 名前:
果物リスト
- 参照範囲に以下の数式を入力:
=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A),1)
- 「OK」を押す。
- 名前:
- [データ] タブ → [データの入力規則] で リスト を選び、範囲に
=果物リスト
と入力。
このようにデータの入力状況に応じて表示されます。
1.2 OFFSET関数の仕組み
OFFSET(開始セル, 行の移動, 列の移動, 高さ, 幅)
を使い、A2からデータの数COUNTA(A:A)
に応じてリスト範囲を拡張。- 新しい項目を追加すると、自動でリストに反映。
1.3 メリット・デメリット
✅ メリット:範囲が自動更新されるので便利。
❌ デメリット:大量データでは計算負荷が増加。
方法2:Excelのテーブル機能を使う
2.1 基本の設定
- A列のデータを選択し、[挿入] タブ → [テーブル] をクリック。
※もしくは「Ctrl」+「T」
- 「先頭行をテーブルの見出しとして使用する」のチェックを外して「OK」。
- [テーブル]タブで作成したテーブルの名前を変更(例:
果物テーブル
)。
- [データの入力規則] で リスト を選び、範囲に
=INDIRECT("果物テーブル[列1]")
と入力。
2.2 メリット・デメリット
✅ メリット:計算負荷が少なく、大量データにも適用可能。
❌ デメリット:Excel 2013以前ではリスト参照が難しい。
どちらを選ぶべきか?
- 少量データなら
OFFSET関数
で十分。 - 大量データなら
テーブル
を使うほうが負荷が少ない。
どちらの方法も、リストの範囲を手動で変更する手間を減らせるので、ぜひ試してみてください!
コメント