dポイントプレゼントキャンペーン実施中!

EXCEL 2003です。
-----------------------------------------
A     B
1 お菓子  プリン,アイス,チョコ・・・
2 果物   いちご,もも,メロン・・・
3
-----------------------------------------
Sheet1にプルダウン1(A列:大分類)とプルダウン2(B列:小分類)があり、
プルダウン1の内容に従ってプルダウン2の内容を変更させたいとき、
「名前とINDIRECT関数を用いる方法」は、既に調べました。

今回お聞きしたいのは、
上記プルダウン2に表示すべき小分類表の数が多い場合、
いちいち名前定義をするのは大変な作業になると思うので、
これを以下のような一覧をよそから取得してSheet2に貼り付けたら
動作するような方法はないでしょうか。
-----------------------------------------
A B C
1 お菓子   果物   野菜 
2 プリン   いちご  ピーマン
3 アイス   もも   しょうが
4 チョコ   メロン  たまねぎ
-----------------------------------------
【補足】
A2:A4に名前定義「お菓子」はないが、
かわりに先頭行に「お菓子」があるので、これとリンクさせたい。

保守を考えてマクロはできれば使用したくありません
よろしくお願いいたします。

A 回答 (3件)

1 お菓子   果物   野菜


の行に「大分類」という名前を付け、
2 プリン   いちご  ピーマン
以下の最終行まで「小分類」という名前を付けます。

「大分類」のプルダウンには
=大分類
「小分類」のプルダウンには
=INDEX(小分類,,MATCH(A1,大分類,0))
でいかがでしょうか?

 現時点で「以下のような一覧」が A1:C4 になっていますが、「大分類」は
=Sheet2!$A$1:$F$1
「小分類」は
=Sheet2!$A$2:$F$7
というように余分に設定していても問題はなさそうですので、後から「以下のような一覧」にデータを追加することもできます。
    • good
    • 0
この回答へのお礼

こんな方法があるんですね!
できました。ありがとうございます。

お礼日時:2009/03/16 11:11

名前の定義は、例えば記載されている一覧表のような場合、


A1:A4を選択し、挿入→名前→作成→名前の作成先で上端行にチェック
とすると、自動的に「お菓子」と言う名前がA2:A4に定義されます。

一つ一つ名前を入力していくよりは手間が省けるのではないかと思いますが如何でしょう?
    • good
    • 0
この回答へのお礼

ありがとうございます。
今回は、人にこの面倒な作業をやらせたくないためだったので、
自分で作成する際には参考にさせていただきます。

お礼日時:2009/03/16 11:11

別表があるのなら


Sheet2 の A1:C4 を選択して一括で名前定義してはいかが


別表が同一シート内であれば(たとえば G1:I4にあるとして)
B列に入力規則 元の値に
=OFFSET($F$1,,MATCH(A1,$G$1:$I$1,0),4,)
    • good
    • 0
この回答へのお礼

今回は別シートに作る必要がありますが、
次回同一シートでよいときに参考にさせていただきます。
ありがとうございました。

お礼日時:2009/03/16 12:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!