3種類の複数列ドロップダウンリスト – ステップバイステップガイド
「excel ドロップダウンリスト 複数列」をGoogleで検索する場合、次のいずれかのタスクを実現したいと考えているかもしれません:
このチュートリアルでは、これらの3つのタスクを達成するためのステップバイステップの手順を説明します。
複数列に基づく依存ドロップダウンリストを作成する
下のGIF画像に示すように、大陸用のメインドロップダウンリスト、そのリストで選択された大陸に基づいて国を含むセカンダリドロップダウンリスト、さらにそのリストで選択された国に基づいて都市を含む第三のドロップダウンリストを作成したいとします。このセクションの方法は、このタスクを達成するのに役立ちます。
複数列に基づく依存ドロップダウンリストを数式を使って作成する
ステップ1: メインドロップダウンリストを作成する
1. ドロップダウンリストを挿入したいセル(ここではG9:G13を選択)を選択し、「データ」タブに移動して「データの入力規則」>「データの入力規則」をクリックします。

2. 「データの入力規則」ダイアログボックスで、次のように設定してください。

ステップ2: セカンダリドロップダウンリストを作成する
1. セカンダリドロップダウンリストに表示したい項目を含む範囲全体を選択します。「数式」タブに移動し、「 選択範囲から作成」をクリックします。

2. 「選択範囲から名前を作成」ダイアログボックスで、「最上行」のみチェックを入れ、「OK」ボタンをクリックします。

3. セカンダリドロップダウンリストを挿入したいセルを選択し、「データ」タブに移動して「データの入力規則」>「データの入力規則」をクリックします。
4. 「データの入力規則」ダイアログボックスで、以下を行う必要があります:
=INDIRECT(SUBSTITUTE(G9," ","_"))

5. このドロップダウンリストのセルを選択し、オートフィルハンドルをドラッグして同じ列内の他のセルにも適用します。
これでセカンダリドロップダウンリストが完成しました。メインドロップダウンリストで大陸を選択すると、セカンダリドロップダウンリストにはその大陸の国のみが表示されます。

ステップ3: 第三のドロップダウンリストを作成する
1. 第三のドロップダウンリストに表示したい値を含む範囲全体を選択します。「数式」タブに移動し、「 選択範囲から作成」をクリックします。

2. 「選択範囲から名前を作成」ダイアログボックスで、「最上行」のみチェックを入れ、「OK」ボタンをクリックします。

3. 第三のドロップダウンリストを挿入したいセルを選択し、「データ」タブに移動して 「データの入力規則」 > 「データの入力規則」をクリックします。
4. 「データの入力規則」ダイアログボックスで、以下を行う必要があります:
=INDIRECT(SUBSTITUTE(H9," ","_"))

5. このドロップダウンリストのセルを選択し、 オートフィルハンドルをドラッグして同じ列内の他のセルにも適用します。
これで都市を含む第三のドロップダウンリストが完成しました。セカンダリドロップダウンリストで国を選択すると、第三のドロップダウンリストにはその国の都市のみが表示されます。

上記の方法は一部のユーザーにとって煩雑である可能性があります。より効率的で簡単な解決策が必要な場合は、次の方法を数回のクリックで実現できます。
Kutools for Excel を使って複数列に基づく依存ドロップダウンリストを数回のクリックで作成する
下のGIF画像は、Kutools for Excel の「動的ドロップダウンリスト」機能の手順を示しています。
ご覧の通り、操作全体は数回のクリックで完了できます。必要なことは以下の通りです:
上のGIF画像は、2レベルのドロップダウンリストを作成する手順を示しています。2つ以上のレベルを持つドロップダウンリストを作成したい場合は、詳細はこちらをクリックしてください 。または、 30日間の無料試用版をダウンロードしてください。
VBAコードを使用してExcelのドロップダウンリストで複数選択を行う
次のVBAスクリプトは、重複なしでExcelのドロップダウンリストで複数選択を行うのに役立ちます。以下の手順に従ってください。
ステップ1: VBAコードエディターを開き、コードをコピーする
1. シートタブに移動し、右クリックしてコンテキストメニューから「コードの表示」を選択します。

2. その後、「Microsoft Visual Basic for Applications」ウィンドウがポップアップ表示されるので、Sheet (Code) エディターに次のVBAコードをコピーします。

VBAコード: 重複なしでドロップダウンリストで複数選択を許可する
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
ステップ2: コードをテストする
コードを貼り付けた後、Alt + Q キーを押してVisual Editorを閉じ、ワークシートに戻ります。
ヒント: このコードは現在のワークシート内のすべてのドロップダウンリストに適用されます。ドロップダウンリストを含むセルをクリックし、ドロップダウンから項目を一つずつ選択して動作を確認してください。
Kutools for Excel を使ってExcelのドロップダウンリストで複数選択を数回のクリックで行う
VBAコードには多くの制限があります。VBAスクリプトに精通していない場合、ニーズに合わせてコードを修正するのは難しいです。ここでは、強力な機能である「複数選択可能なドロップダウンリスト」をおすすめします。これにより、ドロップダウンリストから簡単に複数の項目を選択できます。
Kutools for Excel をインストール後、「Kutools」タブに移動し、「ドロップダウンリスト」>「複数選択ドロップダウンリスト」を選択します。次のように設定します。
- 複数の項目を選択する必要があるドロップダウンリストを含む範囲を指定します。
- ドロップダウンリストのセル内で選択された項目の区切り文字を指定します。
- クリック OK 設定を完了します。
結果
これで、指定された範囲内のドロップダウンリストのあるセルをクリックすると、その横にリストボックスが表示されます。単純に項目の隣にある「+」ボタンをクリックしてドロップダウンセルに追加し、「-」ボタンをクリックして不要になった項目を削除します。以下のデモをご覧ください:
- 区切り文字を挿入後に改行するオプションをチェックすると、セル内に選択された項目を垂直に表示できます。水平にリスト表示したい場合は、このオプションをチェックしないでください。
- ドロップダウンリストに検索バーを追加したい場合は、「検索機能を有効にする」オプションをチェックします。
- この機能を適用するには、まずKutools for Excelをダウンロードしてインストールしてください。
ドロップダウンリストに複数列を表示する
下のスクリーンショットに示すように、このセクションではドロップダウンリストに複数列を表示する方法を紹介します。

デフォルトでは、データ検証ドロップダウンリストは1列の項目しか表示しません。ドロップダウンリストに複数列を表示するには、データ検証ドロップダウンリストの代わりにコンボボックス(ActiveXコントロール)を使用することをお勧めします。
ステップ1: コンボボックス(ActiveXコントロール)を挿入する
1. 「開発」タブに移動し、「挿入」>「コンボボックス(ActiveXコントロール)」をクリックします。

ヒント: リボンに「開発」タブが表示されていない場合、このチュートリアル「開発タブを表示」の手順に従って表示できます。
2. ドロップダウンを表示したいセルにコンボボックスを描画します。
ステップ2: コンボボックスのプロパティを変更する
1. コンボボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。

2. 「プロパティ」ダイアログボックスで、次のように設定します。

ステップ3: ドロップダウンリストに指定された列を表示する
1. 「開発」タブの下で、「デザインモード」アイコンをクリックして デザインモードをオフにします。

2. コンボボックスの矢印をクリックすると、リストが展開され、指定された列数がドロップダウンに表示されます。
ステップ4: 特定のセルに他の列の項目を表示する
1. コンボボックスの下のセルを選択し、次の数式を入力してEnterキーを押して、同じ行の第2列の値を取得します。
=IFERROR(VLOOKUP(B1,B3:F6,2,FALSE),"")

2. 第3列、第4列、第5列の値を取得するには、次の数式を1つずつ適用します。
=IFERROR(VLOOKUP(B1,B3:F6,3,FALSE),"")
=IFERROR(VLOOKUP(B1,B3:F6,4,FALSE),"")
=IFERROR(VLOOKUP(B1,B3:F6,5,FALSE),"")

関連記事
Excelのドロップダウンリストに入力時に自動補完する
データ検証ドロップダウンリストに多数の値がある場合、適切なものを検索するためにリストをスクロールするか、リストボックスに直接完全な単語を入力する必要があります。ドロップダウンリストで最初の文字を入力した際に自動補完できる方法があれば、すべてが簡単になります。このチュートリアルでは、その問題を解決する方法を提供します。
Excelで別のブックからドロップダウンリストを作成する
ワークブック内のワークシート間でデータ検証ドロップダウンリストを作成するのは非常に簡単です。しかし、データ検証に必要なリストデータが別のブックにある場合はどうしますか?このチュートリアルでは、Excelで別のブックからドロップダウンリストを作成する方法を詳しく学びます。
Excelで検索可能なドロップダウンリストを作成する
多数の値を持つドロップダウンリストの場合、適切な値を見つけるのは簡単ではありません。以前、ドロップダウンボックスに最初の文字を入力した際に自動補完する方法を紹介しました。自動補完機能に加えて、ドロップダウンリストを検索可能にすることで、リスト内の適切な値を見つける効率を向上させることができます。このチュートリアルでは、ドロップダウンリストを検索可能にする方法を紹介します。
Excelのドロップダウンリストで値を選択時に他のセルを自動入力する
例えば、セル範囲B8:B14の値に基づいてドロップダウンリストを作成したとします。ドロップダウンリストで任意の値を選択すると、セル範囲C8:C14の対応する値が選択したセルに自動的に入力されるようにしたいとします。この問題を解決するために、このチュートリアルの方法が役立ちます。
最高のオフィス生産性ツール
🤖 | Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパーLOOKUP: 複数条件のVLookup | 複数値のVLookup | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成 | 依存ドロップダウンリスト | マルチセレクトドロップダウンリスト .... | |
列管理: 特定の数の列を追加 | 列を移動 | 非表示列の可視ステータスを切り替え | 範囲と列を比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック & ワークシート管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストで電子メールを送信 | スーパーフィルター | 特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール (テキストの追加, 特定の文字を削除, ...) | 50以上 のグラフ の種類 (ガントチャート, ...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...) | 19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...) | 12 の変換ツール (単語に変換する, 通貨変換, ...) | 7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...) | ...さらに多く |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。 最も必要な機能を入手するにはここをクリック...
Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!