• ベストアンサー

3つ以上のリストの入力規則を連動させたい

エクセルの質問です。 例えば、 A列で「動物」を選択した場合 B列は(犬、猫)、C列は(ドッグフード、キャットフード)のリストが表示され、 A列で「昆虫」を選択した場合は B列は(カブトムシ、クワガタ)、C列は(スイカ、ゼリー)のリストが表示されるようにしたいのですが 可能でしょうか? 1つの列は名前を定義し、INDIRECT関数を使えばできるというのはわかるのですが、2つの列を連動させることができず 困っています。 回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

名前の定義を使用して対応します。 例えばシート1のA1セルからA10セルで動物と昆虫が、B1セルからB10セルでA列に対応して犬、猫やカブトムシ、クワガタが、C1セルからC10セルではB列に対応して食べ物がドロップダウンリストで選択できるようにするとします。 シート2のA1セルには動物、A2セルには犬、A3セルには猫を入力します。 B1セルには昆虫、B2セルにはカブトムシ、B3セルにはクワガタと入力します。 C1セルには犬、C2セルにはドッグフード、C3セルには別の食べ物の名前を入力します。 D1セルには猫、D2セルにはキャットフード、D3セルには別の食べ物の名前を入力します。 E1セルにはカブトムシ、E2セルにはスイカ、E3セルには別の食べ物の名前を入力します。 F1セルにはクワガタ、F2セルにはゼリー、F3セルには別の食べ物の名前を入力します。 その後に各列で名前の定義を行います。 初めにA1セルを選択してから「名前の定義」を選択します。 名前の窓には動物と表示されているでしょう。その後に参照範囲をクリヤーしてからシート2のA2セルからA3セルを選択してOKします。 同様の操作をB列、C列、D列、E列、F列についてそれぞれ実施します。 その後にシート1に戻ってA1セルからA10セルを選択してから「データの入力規則」の「リスト」で元の値の窓には次の式を入力してOKします。 =Sheet2!$A$1:$B$1 次にB1セルからB10セルを選択して同様に「リスト」では元の値の窓には次の式を入力してOKします。 =INDIRECT(A1) 次にC1セルからC10セルを選択して同様に「リスト」では元の値の窓に次の式を入力してOKします。 =INDIRECT(B1) 以上のような操作をすることで何段階ものリスト表示ができるようになります。

sekaowa2
質問者

お礼

出来ました! 丁寧な回答で助かりました。ありがとうございました!