小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2023年8月25日【ID:0】

【Excel】連動したドロップダウンリスト

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


連動したドロップダウンリストの例として、クラスによって表示させる氏名のリストを変更する方法について解説していきます。
解説するにあたり、以下のファイルを使用しています。
※こちらのExcelファイルは配布しています。


テーブルの作成

まずは「名簿」シートの各クラスごとの表をテーブルにします。
今回のように、複数の表が繋がっている場合は、個々で選択して、[挿入]タブより[テーブル]を選択します。
※範囲を選択して、「Ctrl+T」でもテーブルを作成することができます。

[テーブルの作成]の画面では、[先頭行をテーブルの見出しとして使用する]をチェックして確定します。
※こちらでは先頭行が「1組」などと見出しとなっているため、このような設定をしています。

次に作成したテーブルを選択し、[テーブル デザイン]タブよりテーブル名を設定します。

他のクラス(2組、3組)に関しても同様にテーブルにし名前を設定します。

テーブル名は、「数字から始まる名前」のように名前によっては設定できないことがあります。

そのような場合は、先頭に文字を加えるなどして、全てのクラスが統一した名前になるように設定します。
こちらでは、テーブルの頭文字の「T」を加えた名前を設定していきます。

テーブルの名前からドロップダウンリストを切り替えられるように作成するため、テーブルの名前にはクラス名(1組、2組、3組)を含むように設定します。
こちらで設定したテーブル名は以下になります。

・T1組
・T2組
・T3組

ExcelVBAレベル確認

ドロップダウンリストの作成(クラス)

次に、以下の「参加者」シートに移り、「クラス」を選択するドロップダウンリストを作成していきます。

ドロップダウンリストを設定したい範囲を選択し、[データ]タブの中から[データの入力規則]の[リスト]にて、以下のようにクラス名を参照させます。

※直接カンマ区切りで入力しても問題ないです。

これでクラスのドロップダウンリストが完成しました。


ドロップダウンリストの作成(氏名)

最後に、この名前を参照したリストを作成します。
氏名の項目を全選択し、[データ]タブの中から[データの入力規則]の[リスト]にて、以下のような数式を設定します。

=INDIRECT("T"&B3)
// セルB3は選択した範囲の基準となっているセル(こちらの場合はセルC3)に対応するクラスの項目を指定

INDIRECT関数にて、名前を直接参照することができます。

=INDIRECT(参照文字列)
// 指定した文字列(アドレスや名前)を参照する

テーブル名は、"T"から始まっていたため、以下のように"T"とセルB3の値を結合して参照させています。

"T"&B3

このような設定をすることで、クラスに「2組」と入力されている場合は、「T2組」のテーブルの内容をドロップダウンリストとして表示することができます。
セルB3に関しては、他のセルにも適用するため、絶対参照($B$3)ではなく、相対参照(B3)にする必要があります。

上記のように設定することで、以下のように2つのドロップダウンリストを連動させて、該当するクラスの氏名のみを表示させることができます。

▼サンプルファイル▼


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

6690970

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】姓と名の間に半角スペースの入力を強制

【Excel】年月を変更するだけで万年使えるカレンダー

【ExcelVBA】誤操作防止!実行ボタンを押したときに確認画面を表示する

【Excel】指定したセルを瞬時に選択!名前ボックスの活用術

【Excel】FILTER関数で複数条件指定

【Excel】ユーザー設定リストを使って効率化

【Excel】重複した値の入力を禁止する

【Excel】直近N日間のみ自動でグラフに表示

【Excel】表の書式がコピーした際に崩れないようにする

【Excel】複数行のデータを瞬時に1列にする方法

【Excel】長い数式を改行して見やすくする

【ExcelVBA】各要素のデータ行を自動で挿入

【Excel】計算なしで年代別集計

【Excel】電話番号の形式を瞬時に変換

【Excel・Word】同じ図形を繰り返し作成する

【Excel】日付と曜日を表示形式で改行して表示する

【Excel】重複なしでコード単位の番号を割り当てる

【Excel】時間や時給からの給料を正しく計算

【Excel】セル内にミニグラフを作成「スパークライン」

【Excel】スケジュール表の今日の日付を自動で色付け

【Excel】指定時間を自動で色付け「シフト表」

【Excel】初回購入日と直近購入日を抽出

【Excel】特定の値の表示非表示を切り替える

【Excel】グループ化されたセルを素早く開閉!?

【Excel】VLOOKUP関数で列番号を数えずに抽出





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ