Excelでプルダウンリスト(ドロップダウンリスト)を作るには、セルを選択してデータ > データの入力規則を開き、入力値の種類をリストにして、元の値に項目をカンマで区切って入力する(North,South,East,West)か、項目が入っている範囲を選択し、OKを押します。各セルにその選択肢の矢印が表示され、ほかの入力は受け付けられなくなります。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Region | Sales | |
| 2 | Ana | North | 120 | North | 360 | |
| 3 | Ben | South | 85 | |||
| 4 | Cara | North | 240 | |||
| 5 | Dan | East | 60 | |||
| 6 | Eve | South | 150 |
F2はNorthの合計360を表示します。B3でNorthを選ぶと、F2はBenの85だけ増えます。E2にもプルダウンがあり、そこでSouthを選ぶとF2は代わりにSouthの合計を表示します。入力用のリストと、それを読む数式の組み合わせが、プルダウンの最もよくある使い方です。
プルダウンリストの作り方、手順ごとに
- リストを付けるセルを選択します。たとえばB2:B6です。
- データ > データの入力規則(「データツール」グループ)を開きます。Windowsではキーの順番はAlt、A、V、Vです。
- 設定タブで、入力値の種類をリストにします。
- 元の値に、項目をカンマで区切って
North,South,East,Westのように入力するか、欄をクリックしてシート上の項目の範囲を選択します。選択すると=$F$2:$F$5と書き込まれます。 - ドロップダウンリストから選択するにはチェックを入れたままにします(外すと矢印がなく、チェックだけが行われます)。
- OKを押します。
キーボードでリストを開くには、セルを選択してAlt+下矢印(Windows)かOption+下矢印(Mac)を押します。Microsoft 365のExcelでは、セルに最初の数文字を入力すると、一致する項目にリストが絞り込まれます。
同じダイアログに任意のタブが2つあります。入力時メッセージはセルを選択したときにヒントを表示し、エラーメッセージはリストにない値が入力されたときにどうするかを決めます。スタイルが停止(既定)なら入力は拒否され、注意や情報なら確認の後に受け付けられます。無効なデータが入力されたらエラーメッセージを表示するのチェックを外すと、リストを表示しつつ何でも入力できるようになります。
入力した項目は、コンピューターの地域設定のリスト区切り文字で区切ります。小数点にカンマを使うほとんどの地域(フランス、ドイツ、スペイン、イタリア)では、それはセミコロンです:Nord;Sud;Est;Ouest。
セルの範囲からプルダウンリストを作る
ダイアログに入力したリストは見えないところにあり、そこで編集しなければなりません。セルにあるリストなら管理が楽で、セルを変えればそれを使うすべてのプルダウンが変わります。ここでは地域がE2:E5にあり、B2:B6のプルダウンはその範囲を元の値として使っています。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Regions | |
| 2 | Ana | North | 120 | North | |
| 3 | Ben | South | 85 | South | |
| 4 | Cara | North | 240 | East | |
| 5 | Dan | East | 60 | West | |
| 6 | Eve | South | 150 |
E5をWestからCentralに変えてから、B列のどれかの矢印を開いてみてください。リストにはWestの代わりにCentralが表示されます。B列ですでに選ばれた値は変わりません。
リストを見えないところに置く普通の方法として別のシートの範囲を使うなら、「元の値」にシート名を入力します:=Lists!$A$2:$A$5。下に項目を足したときにリストも伸びるようにするには、先に項目をテーブルにし(選択して挿入 > テーブル)、テーブルの列を元の値として選択します。参照がテーブルと一緒に広がります。
UNIQUEで自動更新されるプルダウンリスト
項目をデータそのものから取りたいとき(列に出てくるすべての地域を1回ずつ)は、数式でリストを作り、プルダウンをその結果に向けます。G2の=SORT(UNIQUE(B2:B8))は、重複を除いた地域をアルファベット順にスピルします。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Pick | Sales | Regions | |
| 2 | Ana | North | 120 | South | 235 | East | |
| 3 | Ben | South | 85 | North | |||
| 4 | Cara | North | 240 | South | |||
| 5 | Dan | East | 60 | West | |||
| 6 | Eve | South | 150 | ||||
| 7 | Fay | West | 95 | ||||
| 8 | Gus | East | 110 |
G2はEast、North、South、Westをスピルし、E2のプルダウンはその4つを表示します。B7をCentralに変えると、スピルとリストの両方にCentralが現れます。
Excelでは、プルダウンの「元の値」を=$G$2#にします。セルの後の#は「この数式のスピル全体」という意味なので、リストは常に結果とちょうど同じ長さになり、末尾に空の行が残りません。スピル範囲の参照にはExcel 365か2021が必要で、元のセルは別のシートにあっても構いません(=Lists!$A$2#)。データの列に空のセルがあると、UNIQUEはそれに0を返します。=SORT(UNIQUE(FILTER(B2:B100,B2:B100<>"")))で除きます。関数についてはUNIQUEのページで詳しく説明しています。
連動するプルダウンリスト
連動するリストは、別のセルの選択に合わせて変わります。A2でFruitを選ぶと、B2には果物だけが表示されます。Excel 365と2021では、FILTERの数式で2つ目のリストを作ります。=FILTER(E2:E8,D2:D8=A2)はカテゴリーがA2と一致する項目を返し、B2のプルダウンはそのスピルを元の値として使います。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Category | Item | Category | Item | Items | ||
| 2 | Fruit | Pear | Fruit | Apple | Apple | ||
| 3 | Fruit | Pear | Pear | ||||
| 4 | Vegetable | Carrot | Kiwi | ||||
| 5 | Vegetable | Leek | |||||
| 6 | Bakery | Bread | |||||
| 7 | Fruit | Kiwi | |||||
| 8 | Bakery | Bagel |
A2がFruitなら、G2はApple、Pear、Kiwiをスピルし、それがB2の選択肢になります。A2でBakeryを選ぶと、G2はBreadとBagelに変わります。プルダウンはセルにすでにある値を変えないので、選び直すまでB2はPearのままです。ExcelではB2の元の値は=$G$2#です。
古いバージョンのExcelでは、INDIRECTと名前付き範囲を使う昔ながらの方法があります:
- 各カテゴリーの項目をそれぞれの列に入れ、カテゴリー名を見出しにします。ある列にFruit、次の列にVegetableです。
- 項目の列をそれぞれ選択し、名前ボックス(数式バーの左)でカテゴリーの名前を付けます:
Fruit、Vegetable、Bakery。 - A2に、元の値が
Fruit,Vegetable,Bakeryのプルダウンを付けます。 - B2に、元の値が
=INDIRECT(A2)のプルダウンを付けます。INDIRECTはA2の文字列を、その名前の範囲への参照に変えます。
名前はカテゴリーの文字列と完全に一致しなければならず、スペースは使えません(Dairy_Productsとするか、元の値に=INDIRECT(SUBSTITUTE(A2," ","_"))を使います)。INDIRECTについてはINDIRECTのページで詳しく説明しています。
選んだ項目の値を検索する
プルダウンはよく注文書や見積書の入力に使われます。利用者が商品を選ぶと、検索でその価格が入ります。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Product | Price | ||
| 2 | Order | Pear | Apple | $1.20 | ||
| 3 | Pear | $1.50 | ||||
| 4 | Carrot | $0.80 | ||||
| 5 | Bread | $2.40 | ||||
| 6 | Milk | $1.10 |
やってみよう: C2で、B2で選んだ商品の価格をE:F列の表から返してください。
Pearを選んでいれば、答えは$1.50です。B2で別の商品を選ぶと、価格もそれに合わせて変わります。=XLOOKUP(B2,E2:E6,F2:F6)も使えます。引数についてはVLOOKUPを参照してください。
選んだ項目でセルに色を付ける
選ばれたものでセルに色を付ける(Doneなら緑、Lateなら赤)には、同じセルに条件付き書式のルールを足します。B2:B6を選択してホーム > 条件付き書式 > セルの強調表示ルール > 指定の値に等しいを開き、Lateと入力して書式を選びます。行全体に色を付けるなら、A2:B6を選択して新しいルール > 数式を使用して、書式設定するセルを決定で=$B2="Late"を使います。
| A | B | |
|---|---|---|
| 1 | Task | Status |
| 2 | Quote | Done |
| 3 | Invoice | Late |
| 4 | Order | Open |
| 5 | Report | Late |
| 6 | Survey | Done |
B3とB5が強調されます。B4でLateを選ぶとそこも強調され、B3でDoneを選ぶと強調が消えます。ルールについては条件付き書式のページで詳しく説明しています。
プルダウンリストが動かない理由
- データ > データの入力規則 でドロップダウンリストから選択するのチェックが外れている。リストは入力を制限しますが、矢印は表示されません。
- 矢印は選択したセルにしか表示されません。リストのあるほかのセルには、グリッド上で何の印もありません。探すにはホーム > 検索と選択 > データの入力規則を使います。
- 元の値の範囲に空白のセルがあるので、リストに空の行が表示される。入力済みのセルだけを選択するか、空白のないスピルの元の値(
=$G$2#)を使います。 - 項目を違う区切り文字で入力した。カンマを使うExcelで
North;Southと入力すると、North;Southという1つの項目になります。 - プルダウンが持てる値は1つです。2つ目の項目を選ぶと1つ目が置き換わります。1つのセルで複数の項目を選ぶにはVBAのマクロが必要です。
値をコピーせずにプルダウンをほかのセルにコピーするには、セルをコピーしてからホーム > 貼り付け > 形式を選択して貼り付け > 入力規則を使います。削除するには、セルを選択してデータ > データの入力規則 > すべてクリアを選びます。
よくある質問
Excelでプルダウンリストを作るには?
セルを選択して データ > データの入力規則 を開き、「入力値の種類」をリストにして、「元の値」に項目をカンマで区切って入力する(North,South,East)か、項目が入っている範囲を選択して(=$F$2:$F$5)、OKを押します。
Excelのプルダウンリストを編集するには?
リストのあるセルを選択して データ > データの入力規則 を開き、「元の値」の欄を変えます。同じ入力規則が設定されたすべてのセルに変更を適用するにチェックを入れると、すべてのコピーが更新されます。元の値が範囲なら、その範囲のセルを編集するだけで、ダイアログを開かずにリストが変わります。
Excelのプルダウンリストを削除するには?
セルを選択して データ > データの入力規則 を開き、すべてクリアをクリックしてからOKを押します。すでに選ばれた値はセルに残り、矢印と入力の制限だけがなくなります。
別のシートの範囲からプルダウンリストを作るには?
「元の値」にシート名付きの参照を入力します:=Lists!$A$2:$A$6。または「元の値」の欄がアクティブな状態で別のシートをクリックし、範囲を選択します。名前付き範囲(数式 > 名前の定義)も使えます:=Regions。
自動で更新されるプルダウンリストを作るには?
スピルする数式を指すようにします。H2のような作業用のセルに=SORT(UNIQUE(FILTER(B2:B100,B2:B100<>"")))を入れ、「元の値」に=$H$2#を使います。B列に新しい値を入れるとすぐにリストに現れ、FILTERが空の行をリストから除きます。Excel 365か2021が必要です。