- ベストアンサー
独立した複数のプルダウンを連動させたい
- エクセルで独立した複数のプルダウンを連動させたい方法について教えてください。
- A列で選択した商品に応じてB列とC列のプルダウンを連動させる方法を教えてください。
- A列とB列の連動方法だけではなく、B列とC列が同じA列に連動する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問者様が御使いになられているExcelはどのバージョンのExcelなのでしょうか? Excel2007以降(Excel2007も含む)のバージョンであれば以下の様にされると良いと思います。 まず、使用していない適当なシート(ここでは仮にSheet2とします)に下記の添付画像の様なリストを作成して下さい。 次に、C列~E列に各項目を入力し終えるごと(添付画像の例で言えばC2~E7までのデータを全て入力し終えるごと)に、C列~E列を選択してから、Excelウインドウの上の方にある[データ]タブをクリックし、現れた「データツール」グループ内の[並べ替え]ボタン(或いは[ホーム]タブの「編集」グループ内の[並べ替えとフィルター]ボタンをクリックすると現れる[ユーザー設定の並べ替え])をクリックして下さい。 すると「並べ替え」ダイアログボックスが現れますので、その中の「先頭行をデータの見出しとして使用する」と記されている箇所にチェックを入れ、「列」欄の「最優先されるキー」をC列の「商品」に設定してから、「並べ替え」ダイアログボックスの[OK]ボタンをクリックする事で、同じ商品名の商品の行同士が一塊に纏まっている様にして下さい。 次に、「商品をドロップダウンリストで選択するセル」が例えばA2セルである場合には、同じ行の「規格1をドロップダウンリストで選択するセル」を選択してから、[データ]タブをクリックし、現れた「データツール」グループ内の[データの入力規則]ボタンをクリックし、現れた選択肢の中にある[データの入力規則]をクリックして下さい。 すると「データの入力規則」ダイアログボックスが現れますので、その中の[設定]タブをクリックして下さい。 次に、現れた「入力値の種類」欄をクリックし、現れた選択肢の中から[リスト]を選択してクリックして下さい。 次に、現れた「元の値」欄に次の様な数式を入力して下さい。 =OFFSET(INDEX(Sheet2!$D:$D,MATCH($A2,Sheet2!$C:$C,0)),0,0,COUNTIF(Sheet2!$C:$C,$A2)) 次に、「データの入力規則」ダイアログボックスの[OK]ボタンをクリックして下さい。 次に、同様の操作を「規格2をドロップダウンリストで選択するセル」に対しても行って、「元の値」欄に次の様な数式が設定されている入力規則を設定して下さい。 =OFFSET(INDEX(Sheet2!$E:$E,MATCH($A2,Sheet2!$C:$C,0)),0,0,COUNTIF(Sheet2!$C:$C,$A2)) 以上です。
その他の回答 (1)
- bunjii
- ベストアンサー率43% (3589/8249)
>どうしたらよろしいでしょうか。 2行目からデータの入力規則を設定します。 A列は単純に商品リストをセル範囲で指定します。 B2セルにデータの入力規則でリストを選択し、元の値に次の数式を入力します。 =IF(A2="テレビ",$F$2:$F$3,IF(A2="ノートPC",$F$4:$F$6,$G$8)) $F$2:$F$3には液晶とプラズマの文字列を入力しているものとし、$F$4:$F$8にはパナソニック、東芝、マックの文字列が入力しているものとします。 $G$8は空欄とします。 C2セルにはB2セルに準じて次の数式でリストを指定します。 =IF(A2="テレビ",$G$2:$G$4,IF(A2="ノートPC",$G$5:$G$7,$G$8))
お礼
ありがとうございます。シンプルで分かり易くて参考になります。 ただ、質問では商品が2つですが、実際は10個くらいを想定しているので、If関数だと対応が難しそうです。
お礼
ありがとうございます。 実際は、商品数も10個程度で、規格もいろいろ変わりそうなので、この方法ですとフレキシブルに対応できます。