excel

【Excel】エクセルのコンボボックスの作り方と連動設定(リストボックス・プルダウン・チェックボックス・追加)

エクセルでコンボボックスを作る方法【データの入力規則】 - 候補リストの準備
当サイトでは記事内に広告を含みます

Excelで入力項目を選択式にすると、表記ゆれを防ぎながら入力時間も短縮できます。

代表的な方法は、セルに表示するプルダウン、フォームコントロールのコンボボックス、複数の項目を並べるリストボックスです。

とくに分類に応じて候補を切り替える連動設定まで作ると、申請書、商品台帳、顧客管理表などを使いやすく整えられます。

セル内のプルダウンはデータの入力規則で作成し、フォーム上の選択部品は開発タブのコンボボックスで作成します。

連動プルダウンでは、元データの見出しと範囲名をそろえることが重要です。

チェックボックスは複数選択に向き、コンボボックスは原則として一つの候補を選ぶ操作に向きます。

この記事では、Excelのコンボボックスの基本的な作り方から、リストボックス、プルダウン、チェックボックスとの使い分け、候補の追加方法、連動リストの設定まで順番に解説します。

サンプルデータは1行目が見出しの表として説明します。

 

エクセルでコンボボックスを作る方法【データの入力規則】

商品名 カテゴリ 担当者
ノートPC パソコン ▼ 田中
ワイヤレスマウス 周辺機器 ▼ 佐藤

それではまず、セルの中に候補を表示する最も基本的なコンボボックスについて解説していきます。

Excelではデータの入力規則を使ったプルダウンが、表の入力欄にもっともなじむ選択機能です。

セルをクリックすると右側に下向き矢印が現れ、一覧から値を選べます。

候補を手入力させない仕組みを作れるため、部署名を「営業」「営業部」のようにばらばらに入力する問題を抑えられます。

ここでは、入力表のB列にカテゴリを選ぶプルダウンを作り、別の場所に用意した候補一覧を参照します。

 

候補リストの準備

まず、同じシートの空いた列、または「マスタ」などの別シートに候補一覧を作成します。

たとえばマスタシートのA1に「カテゴリ」、A2からA5に「パソコン」「周辺機器」「事務用品」「ソフトウェア」と入力します。

候補の1行目は見出しなので、実際に選択肢として使うのはA2からA5です。

候補の間に空白セルを入れると、プルダウン内にも不要な空欄が生まれやすくなります。

候補は縦方向に連続して並べると管理しやすいでしょう。

エクセルでコンボボックスを作る方法【データの入力規則】 - 候補リストの準備

入力表と候補一覧を同一シートに置く場合は、候補列を右側の離れた場所へ置くか、後で列を非表示にすると入力画面がすっきりします。

候補一覧は入力用のセルと分けて管理することが、追加や修正を安全にする基本です。

【操作のポイント】候補リストには見出しを含めず、実際に選ばせたい値だけを連続したセルへ入力します。

 

データの入力規則によるプルダウン設定

続いて、入力表のB2からB100など、カテゴリを入力したい範囲を選択します。

リボンの「データ」タブを開き、「データツール」グループにある「データの入力規則」をクリックしましょう。

表示された画面で「設定」タブを選び、「入力値の種類」を「リスト」に変更します。

「元の値」の欄に、候補があるシートと範囲を指定します。

例としてマスタシートのA2からA5を使うなら、元の値には =マスタ!$A$2:$A$5 と入力します。

同じ画面の「セル内ドロップダウン」にチェックが入っていることも確認してください。

エクセルでコンボボックスを作る方法【データの入力規則】 - データの入力規則によるプルダウン設定

OKを押すと、選択したB2からB100のセルにプルダウンが設定されます。

セルを選択して矢印をクリックし、候補を選べば入力完了です。

設定前に複数セルを選んでおくと、一度の操作で同じルールを適用できます。

【操作のポイント】元の値のセル番地には$を付けた絶対参照を使うと、設定をコピーしたときに参照先がずれません。

 

直接入力とコピーによる設定

少数の候補だけを使う場合は、元の値にセル範囲ではなく文字を直接入力する方法もあります。

たとえば「東京,大阪,名古屋」のように半角カンマで区切って入力すると、その三つがプルダウンの候補になります。

ただし候補を変更するたびに入力規則の画面を開く必要があるため、項目数が増える業務表にはセル範囲を参照する方式が向いています。

すでにプルダウンを設定したB2をコピーし、B3以下へ貼り付ければ入力規則も複製されます。

貼り付け先の既存データを残したいときは、「形式を選択して貼り付け」から「入力規則」を選択する方法も便利です。

入力規則はセルの値そのものではなく、入力できる条件を保存する機能です。

そのため、候補外の値が貼り付けで入る可能性まで考えるなら、表を共有する前に入力ルールを確認する習慣が役立ちます。

【操作のポイント】候補数が将来増える表では、文字を直接並べるよりもマスタシートの範囲を参照する方法を選びます。

 

フォームコントロールのコンボボックス設定

入力項目 選択結果 参照番号
担当部署 営業部 ▼ 2
集計用セル =INDEX(候補,参照番号) 結果を表示

続いては、シート上に部品として置くフォームコントロールのコンボボックスを確認していきます。

このコンボボックスはセル内のプルダウンとは異なり、入力フォームや操作パネルのような見た目を作りたい場面に向きます。

選んだ項目の位置番号をリンク先セルへ返す仕様を理解することが大切です。

フォームコントロールのコンボボックスは、選択した文字列ではなく、候補の何番目を選んだかという番号を返します。

表示する文字列が必要なときは、INDEX関数と組み合わせます。

 

開発タブの表示

フォームコントロールを使うには、最初に「開発」タブをリボンへ表示します。

「ファイル」から「オプション」を開き、「リボンのユーザー設定」を選択してください。

右側の一覧にある「開発」へチェックを付け、OKをクリックします。

リボンに開発タブが追加されたら、以後はそのタブからフォームコントロールを挿入できます。

会社のPCで設定変更が制限されている場合は、Excelのバージョンや組織のポリシーにより画面が異なることがあります。

フォームコントロールのコンボボックス設定 - 開発タブの表示

その場合でも、セル内のプルダウンであれば通常はデータタブから作成できます。

見た目の部品が必要か、表のセルで選べればよいかを先に決めると、作業方法を選びやすくなります。

【操作のポイント】開発タブは一度表示すれば、ブックを閉じた後も通常はリボンに残ります。

 

コンボボックスの挿入

開発タブを開き、「挿入」をクリックします。

「フォームコントロール」の中にある下向き矢印付きの「コンボボックス」を選択しましょう。

シート上でドラッグすると、選択部品を好きな大きさで配置できます。

配置した直後は候補が空の状態なので、部品を右クリックして「コントロールの書式設定」を開きます。

「コントロール」タブの「入力範囲」に、候補を並べたセル範囲を指定してください。

例として候補がマスタシートのC2からC6なら、入力範囲へ =マスタ!$C$2:$C$6 と設定します。

「リンクするセル」には、選択された候補番号を返したいセルを指定します。

フォームコントロールのコンボボックス設定 - コンボボックスの挿入

たとえばF2をリンク先にすると、候補の一番上を選んだときは1、二番目なら2と表示されます。

候補の文字がそのままF2に入るわけではない点に注意しましょう。

【操作のポイント】リンクするセルは計算用として使うため、入力フォームから離れた列や非表示列に置くと見栄えを保てます。

 

INDEX関数による選択文字列の表示

続いて、リンク先セルの番号から選択した文字を表示します。

候補がマスタシートC2からC6、リンクするセルがF2の場合、表示先セルには次の数式を入力します。

=INDEX(マスタ!$C$2:$C$6,$F$2)

INDEX関数は、指定した範囲の中から何番目の値を取り出す関数です。

第一引数は候補の範囲、第二引数は取り出す位置番号です。

F2が3なら、C2からC6の三番目にある値を返します。

まだ何も選択していないとF2が0になり、数式はエラーになることがあります。

空欄にしたい場合は、次のようにIF関数で囲みます。

=IF($F$2=0,””,INDEX(マスタ!$C$2:$C$6,$F$2))

フォームコントロールでは、番号セルと表示セルを分ける設計にすると、集計や参照にも応用しやすくなります。

【操作のポイント】INDEX関数の範囲とコンボボックスの入力範囲は、必ず同じ順番と同じ行数にそろえます。

 

連動プルダウンの作成とINDIRECT関数

大分類 小分類 商品名
飲料 ▼ コーヒー ▼ ドリップコーヒー
文具 ▼ 筆記具 ▼ ボールペン

続いては、最初の選択内容に応じて次の候補を変える連動プルダウンを確認していきます。

大分類で「飲料」を選んだら小分類には「コーヒー」「紅茶」を出し、「文具」を選んだら「筆記具」「ノート」を出すという構成です。

INDIRECT関数はセルに入力された文字を参照名として扱えるため、連動設定に利用できます。

連動プルダウンでは、大分類の名称と、小分類の候補範囲に付ける名前を完全に一致させます。

たとえば大分類が「飲料」なら、飲料の小分類を並べた範囲名も「飲料」にします。

 

連動用マスターデータの配置

連動設定を始める前に、マスタシートへ大分類と小分類の候補を整理します。

A1に「大分類」、A2からA3に「飲料」「文具」と入力します。

C1には「飲料」、C2からC4には「コーヒー」「紅茶」「ジュース」と入力してください。

D1には「文具」、D2からD4には「筆記具」「ノート」「ファイル」と入力します。

このとき、C1やD1の見出しは後で範囲名と対応させるため、大分類の表記と一字一句そろえます。

全角と半角、余分なスペース、「飲料品」と「飲料」のような表記差にも気を付けましょう。

候補一覧の1行目を見出しにする場合、範囲名には通常、見出しを除いたC2からC4のような実データ部分を登録します。

【操作のポイント】大分類と小分類を別シートに集約すると、入力シートを見やすく保ちながら候補を保守できます。

 

名前の定義による候補範囲の登録

続いて、飲料の小分類が入ったC2からC4を選択します。

数式バー左側の名前ボックスをクリックし、「飲料」と入力してEnterキーを押します。

これでC2からC4という範囲に「飲料」という名前が付きます。

同様に、文具の小分類が入ったD2からD4を選択し、「文具」という名前を付けます。

名前の定義は「数式」タブの「名前の管理」から確認、編集、削除することも可能です。

Excelの範囲名には使えない文字や規則があるため、候補名に記号を多用する設計は避けた方が無難です。

連動の土台になる範囲名は、候補の見出しではなく実際の選択範囲へ設定することがポイントです。

例として、入力表のA列を大分類、B列を小分類とし、B2の候補をA2の選択に連動させます。

【操作のポイント】範囲名を付けた後は、名前ボックスの一覧に「飲料」「文具」が表示されるか確認します。

 

INDIRECT関数を使った入力規則

ここからは入力表のA2に大分類のプルダウンを作成します。

A2を選択し、データタブの「データの入力規則」で入力値の種類を「リスト」にします。

元の値には大分類の候補範囲である =マスタ!$A$2:$A$3 を指定してください。

次に、連動先となるB2を選択し、同じく入力値の種類を「リスト」にします。

元の値には次の数式を入力します。

=INDIRECT($A2)

連動リスト.xlsx – Excel− □ ×
ファイルホーム挿入データ
並べ替えフィルターデータの入力規則➤ここをクリック
fx=INDIRECT($A2)
A B C
1 大分類 小分類 商品名
2 飲料 ▼ コーヒー ▼ ドリップコーヒー
3 文具 ▼ 筆記具 ▼ ボールペン
A2で選んだ名前の候補をB2に表示

INDIRECT関数は、A2にある「飲料」という文字列を、飲料という名前の範囲への参照に変換します。

その結果、B2のプルダウンには飲料の範囲に登録した「コーヒー」「紅茶」「ジュース」が表示されます。

A2を「文具」に変えると、B2の候補は文具の範囲に切り替わります。

A3以降にも設定をコピーする場合、=INDIRECT($A2) のように列だけを固定しておくと、行番号は各行に合わせて変化します。

大分類を変更した後は、以前選んだ小分類が残っていないか確認する運用も必要です。

古い小分類が残ったままだと、大分類と小分類の組み合わせが不整合になるかもしれません。

【操作のポイント】INDIRECTの参照先になる範囲名と、A列に表示される大分類の文字列を完全一致させます。

 

リストボックスとチェックボックスの使い分け

選択方法 選択数 向く用途
コンボボックス 一つ 担当部署、都道府県
リストボックス 一つまたは複数 一覧からの選択
チェックボックス 複数 確認項目、条件指定

続いては、リストボックスとチェックボックスの特徴を確認していきます。

どの部品を使うかは、候補を一つだけ選ぶのか、複数選べるようにするのかで判断します。

一つだけ選ぶ項目にはコンボボックス、複数の可否を個別に選ぶ項目にはチェックボックスが基本です。

 

リストボックスの特徴

リストボックスは、候補を常に縦に表示できるフォームコントロールです。

開発タブの「挿入」から「リストボックス」を選び、シートに配置して使います。

右クリックして「コントロールの書式設定」を開き、入力範囲とリンクするセルを設定する流れはコンボボックスとほぼ同じです。

候補を開く操作が不要なので、選択肢が少なく、すべての候補を見せたい場合に便利です。

一方で、候補数が多いと部品が縦長になり、シートの表示領域を取ってしまいます。

データ入力表の各行に置くより、検索条件や集計条件を選ぶパネルに置くと使いやすいでしょう。

リストボックスのリンク先にも選択位置の番号が返るため、INDEX関数で項目名を取り出す設計が役立ちます。

【操作のポイント】候補一覧を見せることが優先ならリストボックス、省スペースを優先するならコンボボックスを選びます。

 

チェックボックスの連携

チェックボックスは「該当する」「確認済み」「メール配信を希望する」のように、オンとオフを切り替える項目に適しています。

開発タブの「挿入」から「チェックボックス」を選択し、シート上へ配置します。

チェックボックスを右クリックして「コントロールの書式設定」を開き、「リンクするセル」にセル番地を設定してください。

チェックが入るとリンク先にはTRUE、外すとFALSEが表示されます。

この結果を数式やフィルター条件に使うと、選択内容に応じた処理を作れます。

=IF($F$2=TRUE,”対象”,”対象外”)

上の数式では、F2がTRUEなら「対象」、FALSEなら「対象外」を表示します。

複数の条件を独立して選ばせたい場合、コンボボックス一つに候補を詰め込むより、チェックボックスを並べた方が利用者に意図が伝わります。

【操作のポイント】チェックボックスごとにリンク先セルを分けると、どの条件が選ばれたかを数式で判定できます。

 

複数選択が必要な場合の注意点

データの入力規則による通常のプルダウンは、一つのセルで一つの値を選ぶための機能です。

「東京と大阪」のように複数項目を一つのセルへ追加選択する標準機能はありません。

複数選択を実現するには、選択項目を別々の列へ分ける、チェックボックスを使う、またはVBAで選択値を連結する方法があります。

ただし、複数値を一つのセルにカンマ区切りで保存すると、集計、フィルター、検索が複雑になりがちです。

たとえば対応可能な曜日を管理するなら、「月」「火」「水」の値を一つのセルへまとめるより、曜日ごとの列にチェック結果を持たせる方がデータベースとして扱いやすいでしょう。

入力画面の便利さと、後で集計しやすいデータ構造は別に考えることが重要です。

【操作のポイント】集計を前提にする表では、複数選択の値を一セルへ連結せず、選択肢ごとに列を分ける設計を検討します。

 

コンボボックスの候補追加と自動更新

候補一覧 追加後 プルダウン表示
パソコン パソコン パソコン
周辺機器 周辺機器 周辺機器
ソフトウェア ソフトウェア

続いては、コンボボックスやプルダウンの候補を追加し、自動で反映させる方法を確認していきます。

候補の範囲を固定のA2からA5にしていると、A6へ新しい項目を入力しても選択肢には表示されません。

候補が増える可能性のあるリストは、テーブル化しておくと更新漏れを防ぎやすくなります。

候補リストをテーブルへ変換し、入力規則の元の値からテーブル列を参照することで、追加された行を反映しやすくできます。

 

固定範囲を変更する方法

もっとも単純な追加方法は、データの入力規則で指定した元の値の範囲を広げることです。

たとえば元の値が =マスタ!$A$2:$A$5 で、A6に新しい候補を追加したなら、=マスタ!$A$2:$A$6 に変更します。

入力規則を設定したセルが複数ある場合は、対象範囲をまとめて選択してから変更すると作業を減らせます。

フォームコントロールのコンボボックスでも、「コントロールの書式設定」の入力範囲を同じように広げます。

候補を年に一度程度しか追加しない表なら、この方法でも十分に管理できます。

ただし、候補追加のたびに入力規則やコントロール設定を修正する必要があります。

【操作のポイント】追加した候補が表示されないときは、候補セルに入力しただけでなく、元の値または入力範囲の末尾を確認します。

 

テーブル化による候補管理

候補一覧の見出しを含めた範囲を選択し、CtrlキーとTキーを押すとテーブルの作成画面が開きます。

「先頭行をテーブルの見出しとして使用する」にチェックを付け、OKをクリックしてください。

テーブルにすると、最終行の直下に文字を入力した際、表の範囲が自動で拡張されます。

テーブル名は「テーブルデザイン」タブから変更できます。

候補管理用なら、たとえば「カテゴリ一覧」のように内容が分かる名前にするとよいでしょう。

Excelの設定やバージョンによっては、データの入力規則の元の値へテーブルの構造化参照を直接入力すると扱いにくい場合があります。

その場合は、テーブル列を参照する名前を定義してから、その名前を入力規則で使う方法が安定します。

候補リストのテーブル化は、並べ替えやフィルターを使うマスタ管理にも役立ちます。

【操作のポイント】テーブル名と列見出しは、誰が見ても候補の役割を判断できる名前にします。

 

名前の定義とOFFSET関数による可変範囲

候補数に応じて参照範囲を自動拡張したい場合は、名前の定義でOFFSET関数を使う方法があります。

候補がマスタシートA2から下方向へ並んでいる場合、名前の管理で「カテゴリ候補」という名前を作成します。

参照範囲には次のような数式を設定できます。

=OFFSET(マスタ!$A$2,0,0,COUNTA(マスタ!$A:$A)-1,1)

OFFSET関数は、基準セルから指定した位置と大きさの範囲を返します。

この数式ではA2を基準にし、A列に入っているデータ数から見出し1行を引いた高さの範囲を作ります。

COUNTA関数は空白ではないセルを数えるため、A列に見出しと候補しかない構成で使いやすい式です。

データの入力規則の元の値には、=カテゴリ候補 と入力します。

候補をA列の末尾へ追加すると、可変範囲の高さが増え、プルダウンにも新しい候補が反映されます。

ただしA列の途中に別の文字があると数が狂うため、マスタ用の列は候補専用に保つ必要があります。

【操作のポイント】可変範囲の数式を使う場合は、候補列の途中に空白や別用途のデータを混在させないようにします。

 

入力エラー防止と連動設定のトラブル対策

症状 主な原因 確認箇所
矢印が表示されない 入力規則が未設定 セル内ドロップダウン
連動候補が空欄 範囲名の不一致 名前の管理
候補が増えない 参照範囲が固定 元の値

続いては、プルダウンやコンボボックスで起きやすいトラブルと対策を確認していきます。

設定が合っているように見えても、参照範囲、シート名、範囲名のわずかな違いで候補が表示されないことがあります。

不具合が起きたときは、入力セル、候補範囲、名前の定義、数式の順に分けて確認すると原因を見つけやすくなります。

 

プルダウン矢印が表示されない場合

セルを選択してもプルダウンの矢印が見えない場合、まず対象セルをクリックしてから矢印を確認します。

Excelのセル内プルダウンは、通常、選択中のセルにだけ矢印が表示されます。

それでも表示されないときは、「データの入力規則」を開き、入力値の種類が「リスト」になっているか確認してください。

さらに「セル内ドロップダウン」のチェックが外れていないかも確認します。

コピーや貼り付けの途中で入力規則が失われた場合は、設定済みのセルから入力規則だけをコピーすると復旧できます。

シートが保護されていると編集できないこともあるため、保護設定を利用している表では管理者の運用ルールも確認しましょう。

【操作のポイント】矢印は常時表示されるものではないため、まず対象セルを一度クリックして確認します。

 

連動リストが空白になる原因

INDIRECT関数を設定したのに二段目の候補が空白になる場合、最初に大分類セルの値を確認します。

A2が「飲料」なら、名前の管理に「飲料」という範囲名が存在する必要があります。

「飲料 」のように末尾へスペースが入っている場合や、「飲料品」のように名称が違う場合、INDIRECT関数は参照先を見つけられません。

範囲名に日本語を使う場合も、表記ゆれは避けてください。

大分類セルが空欄なら、二段目の候補を空欄にする設計が自然です。

入力規則の元の値が =INDIRECT($A2) になっているか、先頭の等号が抜けていないかも見直します。

連動設定の不具合の多くは、名前の定義と選択値の一致を確認すると解決します。

【操作のポイント】名前の管理画面を開き、範囲名のスペル、参照範囲、選択セルの表示内容を並べて確認します。

 

エラーメッセージと入力制限の調整

入力規則では、候補外の値を入力したときに表示するエラーメッセージを設定できます。

「データの入力規則」の「エラーメッセージ」タブで、タイトルとエラーメッセージを入力してください。

入力規則を理解していない利用者がいる表では、「一覧から選択してください」のような短い案内を表示すると親切です。

エラーアラートのスタイルは停止、注意、情報から選べます。

候補外の値を絶対に受け付けたくないマスタ入力では停止が向きます。

例外入力を許容する可能性がある場合は、運用担当者が判断できるよう注意や情報を選ぶ考え方もあります。

ただし、表記を統一したい列では自由入力を許すと集計精度が下がるため、目的に合わせて決めましょう。

【操作のポイント】エラー文には、何が間違いかだけでなく、利用者にしてほしい操作を短く書きます。

 

まとめ エクセルのコンボボックス作り方と連動設定

目的 おすすめの機能
表のセルから一つ選ぶ データの入力規則
フォーム風の選択部品を置く フォームコントロールのコンボボックス
選択内容で次の候補を変える 範囲名とINDIRECT関数

最後に、エクセルのコンボボックスの作り方と連動設定についてまとめます。

表のセルへ候補を表示したいだけなら、データタブのデータの入力規則からリストを設定する方法が簡単です。

候補は別シートのマスタとして管理し、元の値に候補範囲を指定すると、入力表を見やすく保てます。

フォームコントロールのコンボボックスは、入力フォームや集計画面に選択部品を置きたい場合に便利です。

この場合はリンクするセルに選択位置の番号が入り、INDEX関数を使えば選択した文字列を別セルへ表示できます。

大分類と小分類を連動させるときは、大分類の表示名と小分類範囲の名前をそろえ、入力規則の元の値へINDIRECT関数を設定します。

候補を追加する機会が多いなら、候補リストをテーブル化するか、可変範囲の名前を定義する方法が有効です。

また、一つの値を選ぶならコンボボックスやプルダウン、複数の条件を選ぶならチェックボックスというように、選択の性質に合わせて部品を使い分けましょう。

入力規則、マスターデータ、連動する範囲名を整理すれば、ミスを減らしながら長く使えるExcelシートになります。