- ベストアンサー
エクセル2007で条件によってプルダウンリストを作成する方法
- エクセル2007を使用して、条件によってプルダウンリストを作成する方法を教えてください。具体的には、リスト用シートとデータ用シートを作成し、セルの選択に応じてプルダウンリストや数量が自動的に入力されるようにしたいです。
- リスト用シートには得意先と商品名のリストを作成し、数量も設定します。データ用シートでは、得意先を選択すると商品名のプルダウンリストが表示され、商品名を選択すると数量が自動的に入力されるようにしたいです。
- リスト用シートとデータ用シートを組み合わせることで、エクセル2007で条件によってプルダウンリストを作成し、入力を簡略化することができます。具体的な設定方法や数式について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと複雑になりますが次のようにしてはどうでしょう。 リスト用シートをここではシート2として、データ用シートをシート1とします。 初めにシート2については次のようにします。 分かり易いように1行目には適当に項目名などを入力することにしてA1セルには得意先と入力して下方の行にあ、い、うなどと入力します。 B1セルにはあ商品名と入力して下方にa,b,cなどと入力します。 C1セルには数量と入力し、下方にはB列に応じた数量を入力します。 D1セルにはい商品名と入力し下方にf、g、hなどと入力します。 E1セルには数量と入力し、下方にはD列に応じた数量を入力します。 F1セルにはう商品と入力し下方にはア、イ、ウなどと入力します。 G1セルには数量と入力し、下方にはF列に応じた数量を入力します。 その後にB2セルから下方を選択してから「数式」タブの「名前の定義」で名前の窓に「得意先」と入力してOKします。 D列、F列についても同様にして名前を定義します。 以上でシート2での作業は終了します。 シート1ではつぎのようにします。 例えば1行目は項目名として2行目から下方にデータを入力するとして、初めにA2セルから下方のセルを選択してから「データ」タブの「入力規則」から入力値の種類の窓では「リスト」を選択し元の値の窓には =得意先 と入力しOKします。 次にB2セルから下方のセルを選択してから上記と同様に入力規則のリストで元の値には次の式を入力してOKします。 =INDIRECT(A2&"商品名") また、C列での表示ですが関数を使って表示します。 C2セルには次の式を入力して下方にドラッグコピーします。 =IF(B2="","",INDEX(Sheet2!A:G,MATCH(B2,INDEX(Sheet2!A:G,1,MATCH(A2&"商品名",Sheet2!A$1:G$1,0)):INDEX(Sheet2!A:G,1000,MATCH(A2&"商品名",Sheet2!A$1:G$1,0)),0),MATCH(A2&"商品名",Sheet2!A$1:G$1,0)+1)) 作業が多いですが頑張ってください。
お礼
すごいっす。ありがとうございました。