【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
注目・最新の記事一覧

リスト内の選択肢を絞り込んで効率化

部署名や性別など、選択肢が決まった項目を入力するときに使う「ドロップダウンリスト」は便利ですよね。

しかし、1つのリスト内に選択肢が多すぎると、リストを開いたときにスクロールが必要になり、かえって面倒になることがあります。例えば、以下のようなケースです。

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

[担当者]リスト内の選択肢が多すぎて、選ぶのが大変です。

こうしたケースでは、ドロップダウンリストを複数に分けて、前のリストで選択した値によって次のリストの内容が絞り込まれると使いやすくなります。上の例でいえば、まず[担当部署]リストを選択すると、その部署に所属する人だけが[担当者]リストに表示されるようにすれば、より簡単かつスマートに選択できるようになります。

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

B列で選択された担当部署に所属する人だけに、リストの内容が絞り込まれています。

難しい仕掛けは必要ありません。リストを作成する前にひと工夫しておくだけで実現できます。【エクセル時短】第125回では、こうした連動するドロップダウンリストを作成してみましょう。

データの関連性を整理して1つめのリストを作る

まずは、今回の例である「担当部署」と「担当者」の関係を整理しましょう。あらかじめ以下のようなデータを、別のシートなどに作成しておきます。

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

1行目に部署名、2行目以降に所属者の名前を入力しています。

そして、1つめのリストである[担当部署]を作成します。[データの入力規則]ダイアログボックスで設定しましょう。

1[データの入力規則]ダイアログボックスを表示する

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

1つめのドロップダウンリストを作成したいセルを選択しておき、[データ]タブの[データの入力規則]ボタンをクリックします。

2データの入力規則を設定する

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

[データの入力規則]ダイアログボックスが表示されました。[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]に「営業部,広報部,編集部」のように、半角の「,」で区切って指定します。[元の値]の入力欄で矢印キーを使ってカーソルを移動したいときは、[F2]キーを押して編集状態にしてから操作してください。

3ドロップダウンリストを設定できた

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

ドロップダウンリストを作成できました。セルの右側に表示された[▼]ボタンをクリックすると、担当部署を選択できます。

なお、ここでは[データの入力規則]ダイアログボックスで項目(選択肢)を直接入力しましたが、あらかじめリスト化したセル範囲をドラッグして指定しても構いません。

2つめのリストで参照する「名前」を設定する

ここからが本題です。1つめのドロップダウンリストで選択した部署名を判断して、所属者を絞り込むための準備をしましょう。それには、先ほど整理した「担当部署」と「担当者」のデータのセル範囲に「名前」を付けます。

Excelの「名前」とは、特定のセル範囲を指定できる機能です。例えば、セルA2~A9に「営業部」という名前を付けておくと、関数式の中などでセル範囲の代わりに指定できるようになります。

1セル範囲に名前を付ける

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

セルA2~A9を選択して、名前ボックスに「営業部」と入力して[Enter]キーを押します。

2「広報部」のセル範囲に名前を付ける

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

同様にセルB2~B9を選択して、名前ボックスに「広報部」と入力して[Enter]キーを押します。

3「編集部」のセル範囲に名前を付ける

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

さらにセルC2~C11を選択して、名前ボックスに「編集部」と入力して[Enter]キーを押します。これで事前の準備は完了です。

INDIRECT関数を使って2つめのリストを作る

名前を付けたセル範囲を利用して、2つめのドロップダウンリストを作成します。[データの入力規則]ダイアログボックスの[元の値]に、INDIRECT(インダイレクト)関数を使うのがポイントです。

INDIRECT関数は、参照するセルの文字列を利用して参照を求める関数です。この例では「=INDIRECT(B2)」と指定します。参照するセルB2には、1つめのドロップダウンリストが存在します。

仮に1つめのドロップダウンリストで[編集部]を選択していると、2つめのドロップダウンリストにあるINDIRECT関数は、「編集部」という名前が付けられたセル範囲を参照します。これにより、2つめのリストには編集部に所属する人の名前だけが表示される、という仕組みです。

1[データの入力規則]ダイアログボックスを表示する

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

2つめのドロップダウンリストを作成したいセルを選択して、[データ]タブの[データの入力規則]ボタンをクリックします。

2データの入力規則を設定する

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

[データの入力規則]ダイアログボックスが表示されました。[設定]タブの[入力値の種類]で[リスト]を選択するところまでは、1つめの場合と同じです。[元の値]に「=INDIRECT(B2)」と入力します。

3ドロップダウンリストを設定できた

【エクセル時短】値によってリストの内容を変更させる! 連動するドロップダウンリストの作り方

2つめのドロップダウンリストを作成できました。セルの右側に表示された[▼]ボタンをクリックすると、1つめのドロップダウンリストで選択された部署に所属する人だけがリストに表示されます。

連動するドロップダウンリストは、「名前」とINDIRECT関数を活用するのがポイントです。どちらも利用頻度は高くありませんが、この機会に覚えておくといいでしょう。