• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでの2つのリストの関連付け)

Excelでの2つのリストの関連付け

このQ&Aのポイント
  • Excelでリストを2つ作り、一つめの選択次第で二つめのリストの選択肢が変わる方法について教えてください。
  • Excel初心者でも簡単に2つのリストを関連付ける方法を教えてください。
  • 他の方の質問(http://okwave.jp/qa/q4850624.html)を参考にし、名前定義とINDIRECTを使う方法は分かりましたが、名前を変更するたびに名前の定義をやり直す必要があるので、もっと簡単な方法があれば教えてください。

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

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

例えばA1セルから下方に最初の選択のできるリストボックスを作りB1セルから下方ではA列で選択したデータに沿ったリストが表示されるようにするためには、名前などの定義を使わずにそれを行うとしたら次のような方法にします。 例えばシート2にはリストボックスで使用するデータがあるとして、その作成は次のようにします。 シート2のA1セルから例えばF1セルまでにはシート1のA列で使用するリスト表示に使う文字列を入力します。その2行目から下方には1行目で入力した文字列に対応してシート1のB列のリストで表示させる内容の文字列を並べます。ここでは仮に10行目までその文字列が入力されるとします。 これでシート2の作業は終わります。 次にシート1での作業ですがA列でのリストの作成ですがA1セルから下行を選択してから「データ」タブの「データの入力規則」で「リスト」さらに元の値には次の式を入力します。 =INDIRECT("Sheet2!A1:F1") B列でも同様にリストで元の値には次の式を入力します。 =INDEX(INDIRECT("Sheet2!A1:F10"),2,MATCH(A1,INDIRECT("Sheet2!A1:F1"),0)):INDEX(INDIRECT("Sheet2!A1:F10"),10,MATCH(A1,INDIRECT("Sheet2!A1:F1"),0)) これで名前の定義などを使わないでリストを作ることができます。上記のような方法を参考にされてはいかがでしょう。

shimajing
質問者

お礼

ありがとうございます。KURUMITOさんの方法で出来ました。 補足に関しては、INDEXとMATCH関数で検索すれば色々出てました。 MATCH関数の「A1」の部分を変えるだけでしたね。ちゃんと調べず聞いてごめんなさい。 助かりました。ありがとうございました!

shimajing
質問者

補足

回答ありがとうございます。 大体は理解できたのですが、B列のリストの元の値の数式が難しいのでもう少し質問させてください。 最初に選択するリストがA2からG2まで、 さらに二番目のリストがその上の行、A1からG1まで の場合(つまりリストの行と列が入れ替わり、さらに最初に選択するリストの方が下にある場合)、 二番目のリストの元の値はどのように変化するのでしょうか。 お手数お掛けしますが、宜しければ教えてください。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

大項目の名前を変更しても自動的に対応する小項目の範囲を取得するならINDEX関数を使うのが簡単です。 添付画像のようなリストがA1:D6セルにあり、大項目をF2セル以下に入力し、小項目のリストをG2セル以下に設定するなら、G2セルの入力規則で「リスト」の元の値の欄に以下の数式を入力して下さい。 =INDEX($A$2:$D$6,,MATCH(F2,$A$1:$D$1,))

shimajing
質問者

お礼

ありがとうございます。 急いでいるもので、ちょっとこの方法はまだ試していませんが、次の出勤時に試してみます。 ありがとうございました!

関連するQ&A