Menu

エクセルでプルダウンを作る方法(データの入力規則)

セルを選択して データ > データの入力規則 を開き、リストを選んで、項目(North,South,East)を入力するか範囲を元の値として選択します。さらに、UNIQUEで自動更新されるリスト、別のリストに連動するリスト、選んだ項目の検索まで作ります。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

Excelでプルダウンリスト(ドロップダウンリスト)を作るには、セルを選択してデータ > データの入力規則を開き、入力値の種類をリストにして、元の値に項目をカンマで区切って入力する(North,South,East,West)か、項目が入っている範囲を選択し、OKを押します。各セルにその選択肢の矢印が表示され、ほかの入力は受け付けられなくなります。

地域を選ぶ
E2
ABCDEF
1RepRegionSalesRegionSales
2AnaNorth120North360
3BenSouth85
4CaraNorth240
5DanEast60
6EveSouth150
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

F2はNorthの合計360を表示します。B3でNorthを選ぶと、F2はBenの85だけ増えます。E2にもプルダウンがあり、そこでSouthを選ぶとF2は代わりにSouthの合計を表示します。入力用のリストと、それを読む数式の組み合わせが、プルダウンの最もよくある使い方です。

プルダウンリストの作り方、手順ごとに

  1. リストを付けるセルを選択します。たとえばB2:B6です。
  2. データ > データの入力規則(「データツール」グループ)を開きます。Windowsではキーの順番はAlt、A、V、Vです。
  3. 設定タブで、入力値の種類をリストにします。
  4. 元の値に、項目をカンマで区切ってNorth,South,East,Westのように入力するか、欄をクリックしてシート上の項目の範囲を選択します。選択すると=$F$2:$F$5と書き込まれます。
  5. ドロップダウンリストから選択するにはチェックを入れたままにします(外すと矢印がなく、チェックだけが行われます)。
  6. OKを押します。

キーボードでリストを開くには、セルを選択してAlt+下矢印(Windows)かOption+下矢印(Mac)を押します。Microsoft 365のExcelでは、セルに最初の数文字を入力すると、一致する項目にリストが絞り込まれます。

同じダイアログに任意のタブが2つあります。入力時メッセージはセルを選択したときにヒントを表示し、エラーメッセージはリストにない値が入力されたときにどうするかを決めます。スタイルが停止(既定)なら入力は拒否され、注意や情報なら確認の後に受け付けられます。無効なデータが入力されたらエラーメッセージを表示するのチェックを外すと、リストを表示しつつ何でも入力できるようになります。

入力した項目は、コンピューターの地域設定のリスト区切り文字で区切ります。小数点にカンマを使うほとんどの地域(フランス、ドイツ、スペイン、イタリア)では、それはセミコロンです:Nord;Sud;Est;Ouest。

セルの範囲からプルダウンリストを作る

ダイアログに入力したリストは見えないところにあり、そこで編集しなければなりません。セルにあるリストなら管理が楽で、セルを変えればそれを使うすべてのプルダウンが変わります。ここでは地域がE2:E5にあり、B2:B6のプルダウンはその範囲を元の値として使っています。

セルにあるリストの項目
B2
ABCDE
1RepRegionSalesRegions
2AnaNorth120North
3BenSouth85South
4CaraNorth240East
5DanEast60West
6EveSouth150
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

E5をWestからCentralに変えてから、B列のどれかの矢印を開いてみてください。リストにはWestの代わりにCentralが表示されます。B列ですでに選ばれた値は変わりません。

リストを見えないところに置く普通の方法として別のシートの範囲を使うなら、「元の値」にシート名を入力します:=Lists!$A$2:$A$5。下に項目を足したときにリストも伸びるようにするには、先に項目をテーブルにし(選択して挿入 > テーブル)、テーブルの列を元の値として選択します。参照がテーブルと一緒に広がります。

UNIQUEで自動更新されるプルダウンリスト

項目をデータそのものから取りたいとき(列に出てくるすべての地域を1回ずつ)は、数式でリストを作り、プルダウンをその結果に向けます。G2の=SORT(UNIQUE(B2:B8))は、重複を除いた地域をアルファベット順にスピルします。

データから取った地域
E2
ABCDEFG
1RepRegionSalesPickSalesRegions
2AnaNorth120South235East
3BenSouth85North
4CaraNorth240South
5DanEast60West
6EveSouth150
7FayWest95
8GusEast110
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

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のプルダウンはそのスピルを元の値として使います。

カテゴリー、次に項目
A2
ABCDEFG
1CategoryItemCategoryItemItems
2FruitPearFruitAppleApple
3FruitPearPear
4VegetableCarrotKiwi
5VegetableLeek
6BakeryBread
7FruitKiwi
8BakeryBagel
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

A2がFruitなら、G2はApple、Pear、Kiwiをスピルし、それがB2の選択肢になります。A2でBakeryを選ぶと、G2はBreadとBagelに変わります。プルダウンはセルにすでにある値を変えないので、選び直すまでB2はPearのままです。ExcelではB2の元の値は=$G$2#です。

古いバージョンのExcelでは、INDIRECTと名前付き範囲を使う昔ながらの方法があります:

  1. 各カテゴリーの項目をそれぞれの列に入れ、カテゴリー名を見出しにします。ある列にFruit、次の列にVegetableです。
  2. 項目の列をそれぞれ選択し、名前ボックス(数式バーの左)でカテゴリーの名前を付けます:Fruit、Vegetable、Bakery。
  3. A2に、元の値がFruit,Vegetable,Bakeryのプルダウンを付けます。
  4. B2に、元の値が=INDIRECT(A2)のプルダウンを付けます。INDIRECTはA2の文字列を、その名前の範囲への参照に変えます。

名前はカテゴリーの文字列と完全に一致しなければならず、スペースは使えません(Dairy_Productsとするか、元の値に=INDIRECT(SUBSTITUTE(A2," ","_"))を使います)。INDIRECTについてはINDIRECTのページで詳しく説明しています。

選んだ項目の値を検索する

プルダウンはよく注文書や見積書の入力に使われます。利用者が商品を選ぶと、検索でその価格が入ります。

選んだ商品の価格
B2
ABCDEF
1ProductPriceProductPrice
2OrderPearApple$1.20
3Pear$1.50
4Carrot$0.80
5Bread$2.40
6Milk$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"を使います。

遅れているタスクを強調する
B3
AB
1TaskStatus
2QuoteDone
3InvoiceLate
4OrderOpen
5ReportLate
6SurveyDone
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

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が必要です。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める