トップページ > Excel エクセル使いこなし技 > 「コンボボックス」で複数のリストを使う方法

「コンボボックス」で複数のリストを使う方法

「コンボボックス」で複数のリストを使う方法


いくつかの「リスト」を使っている場合、「オプションボタン」と「コンボボックス」とを使って、選択肢に使うリストを切り替えることが出来ます。

エクセルではユーザーにリストから値を選択してもらうことが出来ますが、1つ以上のリストから同時に選んでもらう際は、リストの数に応じたコンボボックスを必要とします。

その替わりに、「オプションボタン」(ラジオボタンとも呼ばれる)と「コンボボックス」を組み合わせることで、選んだ「オプションボタン」に応じてリストが自動的に切り替わる「コンボボックス」を使うことが出来ます。例を使って、どうやるかを見ていきましょう。まず、「A1:A12」の範囲に1月から12月、「B1:B31」の範囲に1日から31日、「C1:C24」の範囲に0時から23時、と入力します。

そして、「表示」>「ツールバー」>「フォーム」を選択し、「オプションボタン」をクリックします。そして、ワークシートの場所にクリックし、配置します。あと、二個「オプションボタン」を配置して、3つの「オプションボタン」をワークシート上に表示します。

同じ様に「コンポボックス」も選択し、ワークシート上をクリックし、一つ配置します。「コンポボックス」の周囲に丸印で8つ表示される「ドラッグハンドラー」を使って、「コンボボックス」を適当なサイズに調整します。

最初の「オプションボタン」を「右クリック」、「テキストの編集」を選択し、「オプション1」とある文字を「月」と書き替えます。同じく「オプション2」を「日」、「オプション3」とある文字を「時間」と書き替えます。

CTRLキーを押したまま3つの「オプションボタン」をクリックし、選択した上で、右クリックします。表示されたメニューから「コントロールの書式設定」を選び、「リンクするセル」に「$F$1」と入力します。(※$マーク付きの絶対参照を使います)

「コンボボックス」で複数のリストを使う方法

次に、各リストのデータの個数を取得する数式を、セルE3に入力します。
=COUNTA(INDIRECT((ADDRESS(1,$F$1)&”:”&ADDRESS(ROWS(A:A),$F$1))))

そして、セルE2に各リストのセル範囲を返す以下の数式を入力します。
=ADDRESS(1,$F$1)&”:”&ADDRESS(E3,$F$1)

続いて、「挿入」>「名前」>「定義」を選択し、「名前の定義」を行います。「名前」に「リスト範囲」、「参照範囲」に「 =INDIRECT($E$2) 」と入力し、「追加」、「OK」とクリックします。

次に、「コンボボックス」を「右クリック」し、「コントロールの書式設定」を選択します。「コントロール」タブを選択し、「入力範囲」を「リスト範囲」、「リンクするセル」を「$G$1」と入力し、「OK」を押します。これで、オプションボタンで選択したリストに応じた選択肢がコンボボックスの選択肢に表示されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

トラックバックURL

http://excel.jiten.org/tips/multi-lists-in-combobox/trackback/