【EXCELのINDIRECT関数の使い方】テーブルを利用して絞り込みリストを作りたい

絞り込みリストを作りたい(テーブル利用)

困っている女性

名前付きセルを利用して絞り込みリストを作れるけど、リストを増やすときに名前付きセル範囲の修正が大変だわ・・・。
INDIRECT関数とテーブルを使えば、メンテナンスが簡単な絞り込みリストを作ることができるよ。

解決する男性

困っている女性

テーブルって聞いたことないけど、難しくないの?
簡単だよ。テーブルは、名前付きセルと同様にセル範囲に名前がつけれるし、あとでリストを追加してもテーブルのセル範囲が自動的に拡張されるんだよ。

解決する男性

困っている女性

それじゃあ、早く教えてよ。

 

この記事では、INDIRECT関数とテーブルを使って「絞り込みリスト」を作成する方法を説明します。

 

「絞り込みリスト」は、リストを選択しながら、決まった一覧を作成するのに使えます。

 

リストから値を選択することにより、入力ミスを防ぐことができるようになります。

 

また、テーブルを利用するので、リストをあとから追加することになっても、簡単にメンテナンスできるようになります。

 

ぜひ、この機会に絞り込みリストを作れるようになりましょう。

 

入力ミスとメンテナンスを減らして、さっさと仕事を片付けて帰りましょう。

以下の記事では、「名前付きセル」を利用して「絞り込みリスト」を作る方法を説明しています。

指定したセル番地でセルの値を取得したい 【EXCEL:INDIRECT関数】指定したセル番地でセルの値を取得したい

 

絞り込みリストを作りたい(名前付きセル利用) 【EXCELのINDIRECT関数の使い方】名前付きセルを利用して絞り込みリストを作りたい

 

今回の記事で説明する「テーブルを利用した絞り込みリストを作る方法」は、上記の記事よりメンテナンス性が優れた絞り込みリストを作ることができます。

それでは、今回作成する「絞り込みリスト」のサンプルについて説明します。

絞り込みリストの見本

以下が今回作成する「絞り込みリスト」の見本です。

絞り込みリストの見本(大分類)

絞り込みリストの見本(大分類)

大分類(種類)を選択すると、小分類(商品)から選べるリストが絞り込まれます。

上記の図では、大分類(種類)に「野菜、果物、魚」がリストになっています。

絞り込みリストの見本(小分類)

絞り込みリストの見本(小分類)

大分類(種類)を選択すると、小分類(商品)のリストが絞り込まれたリストになります。

上記の図では、大分類(種類)に「野菜」を選択したので、小分類(商品)が絞り込まれて「きゃべつ、にんじん、じゃがいも、たまねぎ」のリストになっています。

絞り込みリストの見本(小分類)その2

絞り込みリストの見本(小分類)その2

2行目の大分類(種類)で「果物」が選択されたので、小分類(商品)のリストが絞り込まれて、「りんご、いちご、スイカ、ぶどう」のリストになっています。

このように、大分類で選ばれた値により、小分類に表示されるリストを変化させることを「絞り込みリスト」といいます。

 

それでは、絞り込みリストの作成方法を順番に説明していきます。

(1)絞り込みリスト対象のデータを作成する

まずは、絞り込みリストの元ネタとなる一覧を作成します。

絞り込みリスト対象データを作成する

絞り込みリスト対象データを作成する

1行目に絞り込みリストの大分類に当たる名称を入力します。

上記の図では、大分類の名称「A1:野菜、B1:果物、C1:魚」を入力しています。

つぎに、小分類に当たる名称を2行目以下に入力します。

上記の図では、大分類に当たる小分類をそれぞれ、A列からC列に入力しています。

例えば、大分類「野菜」の小分類として「きゃべつ、にんじん、じゃがいも、たまねぎ」を入力しています。

 

(2)小分類の一覧からテーブルを作成する

小分類の一覧それぞれからテーブルを作ります。

小分類の一覧からテーブルを作る

小分類の一覧からテーブルを作る

小分類の一覧(A2からA5)を選択し、「テーブルとして書式設定」をクリックします。

小分類の一覧からテーブルを作る(その2)

小分類の一覧からテーブルを作る(その2)

テーブルの見た目を選択します。

今回は野菜なので、緑の書式を選択します。

テーブルの範囲を選択する

テーブルの範囲を選択する

先頭セル(A1)は見出しなので、「先頭行をテーブルの見出しとして使用する」にチェックをつけます。

テーブルに名前をつける

テーブルに名前をつける

テーブル名を入力する欄が表示されますので、テーブル名を入力します。

見出しが「野菜」なので、テーブル名も「野菜」と入力します。(これ重要です。)

それでは、他の小分類の一覧(果物、魚)も同様にテーブル化していきます。

果物一覧もテーブル化する

果物一覧もテーブル化する

果物一覧はオレンジ色の書式を選択し、テーブル名に「果物」と入力します。

魚一覧をテーブル化する

魚一覧をテーブル化する

魚一覧は青色の書式を選択し、テーブル名に「魚」と入力します。

これで下準備が終わりましたので、入力欄の「データの入力規則」を設定していきます。

(3)大分類のリストを作成する

それでは、実際の入力欄の大分類リストを作成します。

大分類リストを作成する

大分類リストを作成する

大分類リストの作り方は、大分類リストを設定するセル(E2)を選択し、「データの入力規則」を設定します。

「入力値の種類」で「リスト」を選択し、「元の値」に大分類のセル範囲(A1からC1)を選択します。

こうすることにより、大分類リストには、「野菜、果物、魚」のリストが表示されるようになります。

ここで指定したリスト「野菜、果物、魚」は小分類の一覧から作成したテーブル名となります。

(4)小分類のリストを作成する

それでは、実際の入力欄の小分類リストを作成します。

小分類リストを作成する

小分類リストを作成する

小分類のリストを設定したいセル(F2)を選択し、「データの入力規則」を設定します。

「入力値の種類」で「リスト」を選択し、「元の値」に「=INDIRECT($E2)」を入力します。

「$E2」は大分類リストのセルです。

こうすることにより、大分類リストで選択されたテーブル名がINDIRECT関数に渡されます。

そうすることにより、小分類リストの中身が選択されたテーブルの中身になります。

 

INDIRECT関数は以下のように指定します。

=INDIRECT(セル番地またはテーブル名)

INDIRECT関数の説明
INDIRECT関数には、セル番地またはテーブル名を文字列で指定します。

文字列は、ダブルクォーテーションで囲って指定します。

 

例えば、A1なら”A1″と指定します。

INDIRECT関数の動きは、指定されたセル番地やテーブルの中身を表示します。

 

E2セルを「E3からE5」にコピーしてください。

また、F2セルを「F3からF5」にコピーしてください。

そうすれば、3行目から5行目でも絞り込みリストが使えるようになります。

 

テーブルのリストを追加する(メンテナンス方法)

テーブルのリストを追加する方法を説明します。

小分類リストの元データとなっているテーブルのリストを追加する場合、テーブルの一番下に値を入力するだけです。

テーブルのリストを追加する

テーブルのリストを追加する

上記の図では、野菜テーブルに「ネギ、レタス」を追加しています。

それでは、小分類リストに「ネギ、レタス」が追加されたか確認してみましょう。

小分類リストに追加した行が表示された

小分類リストに追加した行が表示された

自動的に小分類リストに「ネギ、レタス」が追加されています。

リストの元データにテーブルを利用することにより、メンテナンスがとても簡単になりました。

もし、「名前付きセル」を元データとして利用していた場合、「名前付きセル」のセル範囲を変更しなければいけません。

 

これで、メンテナンスが楽な絞り込みリストが完成しました。

テーブルとINDIRECT関数を使って、絞り込みリストを作成する方法でした。

ぜひ利用してみてください。

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です