小技集

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



2023年8月25日【ID:0】

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


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

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

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

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

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

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

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

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

・T1組
・T2組
・T3組

ExcelVBAレベル確認

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

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

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

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

ExcelVBAレベル確認

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

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

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

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

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

"T"&B3

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

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

▼サンプルファイル▼

パソコンで開く場合は、リンクコピーがあるのでご活用ください。



メンバー募集 メンバー募集
1分で読める小技集 1分で読める小技集




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

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


- 人気の記事 -



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



サイト累計閲覧数

1379436

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

Excel完全制覇


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

【ExcelVBA】現在の日時を取得

【Excel】データベースとなる表を作成するときのポイント

【Excel】文字列の数字を一括で数値にする

【Excel】横方向の並べ替え

【Excel】シートの増減に対応した串刺し演算

【Excel】特定の曜日の日付を入力できないようにする

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

【Excel】同じ形式のグラフを作成

【ExcelVBA】合格者だけに合格証を発行

【Excel】指定したセルを別のセルの間に移動する

【Excel】今日の日付の行を色付け

【Excel】新関数で「好みの項目」を「好みの順番」で抽出する方法

【Excel】数式が入力されているセルを自動で色付けする

【Excel】COUNTIF関数などで活用できる条件式

【Excel】VLOOKUP関数で時間を検索して抽出できない?

【Excel】VLOOKUPより便利なINDEX・MATCH

【Excel】文字列を右詰めで1つ1つの枠に割り当てる

【Excel】深夜退社を考慮した勤務時間の求め方

【Excel】複数のセルを異なる区切り文字で文字結合

【Excel】アルファベット(A~Z)を瞬時に入力

【Excel】フィルターで絞った上でトップ3を求める

【Excel】ORは「+」、ANDは「*」でも表現できる!?

【Excel】表の最終行を瞬時に選択

【Excel】誤って上書き保存しないための対策

【Excel】改行を保持しながら値を参照する





一覧ページへ

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