• 締切済み

エクセルの▼で選択できるリストについて

エクセルで質問です データ→入力規則→設定タブ→「リスト」選択→元の値を入力 で▼マークのダウンロール?ができるかと思うのですが、このリストが非常に多くて探すのが大変なので頭文字をキーボードで打ち込めば該当する項目だけ表示されるようにできないでしょうか?

みんなの回答

回答No.6

A1セル(入力規則の設定セル)にて[Ctrl]+[F3]名前の定義 名前 : あいう 参照範囲 :=MATCH(A1,$C$1:$F$1,0) [追加] 名前 : リスト 参照範囲 : =IF(ISNA(あいう),$C$1:$F$1,INDEX($C$2:$F$9,,あいう)) 入力規則のリストに =リスト 添付図参照

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! すでに回答は出ているようですが・・・ リスト表示の件数が多すぎてスクロールするのが大変な場合は ↓の画像のように表を整理して A2でリスト表示させたものに関するデータをB2にリスト表示させる方法 (細分化して表示する)が良いのではないでしょうか? 参考URLも回答されているみたいですが、 ↓の画像の場合の説明をしておきます。 データが同一Sheetの場合ですけど (リスト表示させる方法はご存知のようなので簡単に説明します) D2~D8を範囲指定 → メニュー → 挿入 → 名前 → 定義 から 北海道・東北 としてOK 同様に九州・沖縄まで一つずつ名前定義していきます。 (範囲指定した後に「名前ボックス」に直接入力しても構いません) A2セルのリスト表示させるデータ範囲を$D$1:$I$1として まず地方の区分をリスト表示させます。 そして、B2セルのリストの「元の値」の欄に =INDIRECT(A2) これでA2で選択したデータに関する項目だけがB2にリスト表示できるようになります。 尚、元データが別Sheetにある場合は 地方(北海道~九州・沖縄)を選択して名前定義しておく必要があります。 A2セルのリストの「元の値」は名前定義した名前を入れればOKです。 ちなみに仮に 地方 と名前定義したとします。 その場合、元の値は =INDIRECT("地方") とすれば大丈夫だと思います。 どうも長々と失礼しました。 以上、参考になれば幸いですが 余計なお世話なら軽く読み流してくださいね。m(__)m

pchanzz
質問者

お礼

ありがとうございます。 非常にわかりやすいです。 参考になりました

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

回答No3です。 おっしゃる通りのことはできません。 しかしながら、ドロップダウンリストから更にリストを作成する方法を次のような参考資料から勉強され利用されてはいかがでしょう。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis.htm http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_030_19.html

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

このリストが非常に多くて探すのが大変なので頭文字をキーボードで打ち込めば該当する項目だけ表示されるようにできないでしょうか? ご質問についてもっと具体例をあげて示してください。

pchanzz
質問者

補足

例えばドロップダウンのリストに都道府県を入れたとします。 そして東京を選びたいとき▼をクリックしてリストを表示させて「T」とキーボードを押せば東京・栃木・・・などTで始まるリストのみ表示され、順番に「TOKYOU」といれていくとどんどん項目が絞られていく、ということができないでしょうか?

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

直接の回答ではありませんが、以前に選択肢が沢山ある時、巨大なフォームに選択肢全部を表示して選択する様にした事があります。その応用編で、他のシート全体をドロップダウン代わりに使うなんてアイデアはいかがでしょうか。 Sheet1のB列のセルをクリックすると、Sheet2を表示し、そちらで選択したセルの値を、Sheet1でクリックしたセルに戻します。 '☆Sheet1 B列のセルにイベントマクロを設定 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column <> 2 Then Exit Sub 'ドロップダウン代わりにSheet2を表示 Sheets("Sheet2").Activate End Sub '☆Sheet2 ドロップダウン代わりのシートのコード Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("a1").Activate '有効なデータの入れてないセルに戻す Sheets("Sheet1").Activate '選択した値をSheet1に戻す ActiveCell.Value = Target.Value End Sub イベントについては、参考URLをご覧下さい。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html
pchanzz
質問者

補足

ありがとうございます。 かなり高度ですね。一度挑戦してみます

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

↓こちらでどうでしょうか。 ドロップダウンリスト(入力規則)について http://www.kenzo30.com/ex_kisopoint/onepoint_sonota3.htm#Q4

pchanzz
質問者

補足

ありがとうございます。参考にします

関連するQ&A

専門家に質問してみよう