• ベストアンサー

Excelの入力規制でリストをツリー形式にするのは?

入力規制を使って、名前を付けたセル範囲を複数、リストに表示したいんです。 例えばセル横のボタンをクリックするとリストに「筆記用具」「用紙」「封筒」の3つが出て、 その内の「筆記」をクリックするとボールペン、シャープ、サインペン、・・・の一覧が出る。 「用紙」をクリックするとA4、B4、B5、・・・の一覧が出ると言うふうに。 確か、名前を付けたセル範囲を複数、ツリー形式で表示できるんですよね? 一つなら「元の値」に=筆記用具で出来たんですが、3つ並べるにはどうするでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

http://okweb.jp/kotaeru.php3?q=766752 の#2のご回答等に載っていることではないですか。 (私もVBAで回答)

参考URL:
http://okweb.jp/kotaeru.php3?q=766752
hiro-ss
質問者

お礼

今やっているところですが、何とか出来そうです。 有り難うございました。

その他の回答 (1)

noname#9284
noname#9284
回答No.2

エクセル技道場というサイトがあります。 縦横可変範囲の名前定義でリスト http://www2.odn.ne.jp/excel/waza/validation.html#SEC5 ここの例ではA列で部署を選ぶとB列ではそれに対応した名前が出る仕組みになっています。 これがきっと応用できると思います。 なお、このページの上の方に 「名前定義と[入力規則]-[リスト]シリーズ(1-5)に関連したサンプルファイル(3KB)」があります。

hiro-ss
質問者

お礼

アドバイス有り難うございます。 参考HP、私にはなかなか難しいですが、何とか旨くいきそうです。

関連するQ&A

  • 文字が一番消えにくい筆記用具

    万年筆、ボールペン、サインペン等、筆記用具は色々ありますが、何年経っても書き残した文字が一番消えにくい筆記用具は何でしょうか?よろしくお願いします。

  • ツリー形式リストについて

    前回にも似たような質問をしています。 Excelの入力規制でリストをツリー形式にしたいのですが、例えば、課名「総務課」「人事課」「企画課」というリストがあり、その中の「総務課」をクリックすると「Aプロジェクト」「Bプロジェクト」「Cプロジェクトがでて、「Aプロジェクト」を選ぶと「創造部」「実行部」が出てくる。このような3段式のリストは作れました。今回行き詰っているのはリストの2段目(つまりプロジェクト名のリスト)の選択項目が、総務課、人事課、企画課すべて同じの場合です。3つとも選択項目が同じな為、1つの課の分しかリストに反映されませんでした。どうすればよいのか困っています。

  • エクセル入力規制リスト行数

    エクセル2002を使用しています。 セルに入力する時、入力規制で、リストよりドロップダウンして選択入力していますが、リストの行数が、8行しか表示されません。クリック数を減らすために、1度に20行位表示したいのですが、どうしたら出来るのか教えて下さい。

  • エクセルVBA データ→入力規制→リストの作り方・・・

    いつも皆様には大変お世話になっております。 またまた、教えて頂きたい事がありますので宜しくお願い致します。 VBAでとあるセルに入力規制のリストを作りたいのですが、    A  B  C  D 1  あ        2  い 3  う 4 5 となっている状況でD1のセルにAの列のリストを作りたいのです。 但し、A4やA5に今後名前が増えていくのです。 その増えたときに、増えた分の名前もD1のセルにリストとして乗せたいのです。宜しくお願い致します。

  • EXCELでリストを作成して、そのリストを選択した値を複数の入力するよ

    EXCELでリストを作成して、そのリストを選択した値を複数の入力するようにしたいが、どうしたらいいでしょうか? 例えばA1にリストを作成、リスト中”A,B,C,D"が選択できるようにする。 ”A"を選択した場合B1のセルに”あ”が表示、同時にC1のセルに”ア”が表示。 ”B"を選択した場合B2のセルに”い”が表示、同時にC2のセルに”イ”が表示....

  • リストの結果によって変わるリストの作成について

    「入力規則」の「リスト」なんですが、こんな リストを作成することはできますでしょうか? たとえばこんな社員名簿を作ったとします。 セルA1に「男」 セルB1に「女」 セルA2からA10に男性社員の名前 セルB2からB10に女性社員の名前 この表を使ってセルC1に入力規則のリストを作成し「男・女」 を選択できるようにします。 次にセルC2にはセルC1が「男」なら男性社員、「女」なら女性社員 の名前がリストになるようにします。 ここまでは範囲の名前付け(A2からA10の範囲に「男」、B2からB10 の範囲に「女」と名前付け)とINDIRECT関数を使ってできました。 ここからなんですが 社員の名前は後から増えてもいいように範囲を多くとっています。 セルA2からA10までを男性社員の名前が入るようにしているのですが 実際名前が入力されているのはA2からA5までです。 この場合名前のリスト範囲をA2からA10までにするとA6からA10の 空白のセルまでリスト表示されてしまいます。 そこで =OFFSET($A$2,,,COUNTA($A$2:$A$10)) を併用したいのですが 「挿入」→「名前」→「定義」のところで「男」 の参照範囲を「=OFFSET($A$2,,,COUNTA($A$2:$A$10))」 にするとリストが表示されなくなりました。 説明が下手で長くなってしまいましたが 簡単に言うと セルC1に「男・女」のリストを作成。 セルC2にセルC1が「男」の場合男性社員の名前、 「女」の場合女性社員の名前をリスト表示させ さらに空白のセルはリストに表示させないようにしたいのです。 宜しくお願いします。

  • エクセル リストの連動について教えてください。

    エクセルの入力規則のリストを連動させて使用させたいのですが上手くできないのでご教授願いたいと思います。 まず、A1に食材の分類(野菜、肉など)をリストで選択できるようにしてあります。 A1の結果によってB1に食材(人参、玉ねぎなど)をリスト表示したいのですが、 (別シートに分類ごとにセル範囲に名前を付けてあります) 元の値を=indirect(A1)とするとエラーが出ます。 (A1には先に入力してあります) 食材のセル範囲の名前をoffsetを使って定義しているのですが (確認しましたが関数自体は間違っていません) offsetを使っているとエラーになるようなのです。 (A1:A5のようにセル範囲名前を定義しているときはちゃんと出来ます。) いろいろ調べましたが名前の定義、リストの連動の仕方自体は間違っていないと思うのですが・・・ 連動させるときはセル範囲をoffsetなどを使って可変にすると出来ないのでしょうか?

  • 履歴書を書く筆記用具について教えてください。今までボールペンで書いてい

    履歴書を書く筆記用具について教えてください。今までボールペンで書いていました。 しかし、アドバイザーの方からマッキーのサインペン(つまりマジックですよね)でも いいと教えられました。 どっちがいいのでしょうか?

  • Excel(エクセル) 名前定義をしたリストから、indirect関数を利用して選択入力できるようにしたいのですが… 

     次のようなことができず困っています。  Sheet1とSheet2があり、Sheet2には"数字"、"英語"と名前定義された2つのリストがあります。Sheet1のセルA1には"数字"か"英語"どちらかの文字列を選択入力し、B1には、もしA1に"数字"を入力していればリスト"数字"から、もし"英語"を入力していればリスト"英語"から選択入力できるようにしたいのです。つまり、Sheet1のセルA1、B1の入力規則の種類をリストとして、元の値をそれぞれ、    ・Sheet1!A1には=数字,英語    ・Sheet1!B1には=indirect($A1) としています。 質問(1)) ここまでなら何の問題もないようですが、問題はSheet2の"数字"と"英語"の参照範囲です。    ・"数字"の参照範囲は=Sheet2!$A$1:$A$10,Sheet2!$C$1:$C$10    ・"英語"の参照範囲は=Sheet2!$B$1:$B$10,Sheet2!$D$1:$E$10 と複数範囲におよんでいる場合、Sheet1!B1にはうまくリストが表示されません。解決法、およびなぜ表示されないのか、どなたかご教示お願いいたします。 質問(2)) Sheet2の"数字"と"英語"の参照範囲を    ・=OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A))    ・=OFFSET(Sheet2!$B$1,,,COUNTA(Sheet2!$B:$B)) とした場合も同様にSheet1!B1にはうまくリストが表示されません。こちらの方も解決法と表示されない理由をお願いいたします。

  • Excel VBA 入力規則のリスト化

    Excel VBAにて入力規則でリスト化しようと思っています。 通常セルを範囲指定によってリスト化する場合、 以下のようなコードになると思うのですが、 (セルA1にセルB1~B10の内容がリスト化される) Range("A1").Select With Selection.Validation .Add Type:=xlValidateList, Formula1:="=B1:B10" End With 例えばB1~B3, B6~B10などのような不連続な範囲をリスト化 する方法はありませんでしょうか? 宜しくご教示の程お願い致します。

専門家に質問してみよう