【Excel】入力する値によって表示されるリストを変更してみた

excel Excel

入力する値によって表示されるリストを変更してみました。

広告

やりたいこと

以下のように、セルに入力する値によって表示されるリストを変更します。

今回は果物の【種類】(A列の値)によって、選択できる【サイズ】を変更します。
 みかん:SSSが表示される
 りんご:MLが表示される

みかんが選択されている場合、サイズはSかSSが表示される
りんごが選択されている場合、サイズはMかLが表示される

入力する値によって表示されるリストを変更する

[データの入力規則] とINDIRECT関数を組み合わせることで実現できます。

1.[データの入力規則] で利用する一覧表の作成

最初に選択肢に利用する値を記載した一覧表を作成します。

今回は果物の【種類】とそれに対応した【サイズ】の表を以下のように作成しました。

果物の【種類】とそれに対応した【サイズ】の表

2.【種類】ごとの【サイズ】の範囲に名前を登録する

続いて各【種類】に対応する【サイズ】の範囲を選択した状態で左上の [名前ボックス] を選択し、それぞれに対応する【種類】を入力します。

【種類】に対応する【サイズ】の範囲を選択した状態で左上の [名前ボックス] を選択し、それぞれに対応する【種類】を入力

りんごとメロンも同じようにします。

3.[データの入力規則] を利用して【種類】のセルでリストを作成

【種類】のセルを選択した状態で、[データ] タブの [データツール] カテゴリの中にある [データの入力規則] を選択しリストを作成します。

今回は先ほど作成した表の項目名(みかん、りんご、メロン)が入力されている範囲を選択します。

【種類】のセルを選択した状態で、[データ] タブからデータツールのカテゴリの中にある [データの入力規則] を選択しリストを作成

これによって【種類】の項目をプルダウンで選択できるようになります。

4.[データの入力規則] を利用して【サイズ】のセルでリストを作成

上記の【種類】と同じ手順で、【サイズ】の列のセルにリストを作成します。

ただし、「元の値」に入力する式が範囲の選択ではなく、INDIRECT関数を利用して【種類】のセルを指定します。

今回はセル「B2」に対する設定なので =INDIRECT(A2) と入力しています。

INDIRECT関数を利用して【種類】のセルを指定し、リストを作成

これで【種類】に応じた【サイズ】がプルダウンで選択可能となり、入力する値によって表示されるリストを変更することができます。

[参考] INDIRECT関数の参照セルが空欄だと警告文が出る

もし以下のような警告文が出てきたとしても続行して問題ありません。

INDIRECT関数が見に行くセルが空欄の場合、警告部が出てくる

INDIRECT関数が参照するセルが空欄のために出てくるだけです。

「OK」を押すことで設定を入れることができ、プルダウンも正常に動作します。

web版Excelでは [データ入力規則] でINDIRECT関数を入力できない

web版のExcelでは、[データ入力規則] の「ソース」の欄にINDIRECT関数を入力して「適用」を押すとエラーとなるため、入力する値によって表示されるリストを変更することはできませんでした。

web版のエクセルでは、[データ入力規則] の「ソース」の欄にINDIRECT関数を入力して「適用」を押すとエラーとなる

アプリ版のエクセルでのみ実施可能のようです。

タイトルとURLをコピーしました