「StiLL」Excel情報027 関数--INDEX関数、コンボボックスの作り方
■皆さんはExcelのコンボボックスを使ったことがありますか?データを一覧から選択するときに使うもので、とても便利な機能ですよ。これにINDEX関数を組み合わせると、データの一覧から選んだ値の明細までもが表示でき、本格的プログラムの第一歩です。 ☆対応方法:一覧から指定したデータの明細を表示させるようにします。コンボボックスの入力範囲とリンクするセルをそれぞれ指定し、INDEX関数の行番号を、コンボボックスのリンクするセルと同じセルを指定します。すると、選択されたものの明細が表示されます。 ※ご注意下さい。INDEX関数は、指定する列(行)が1列(行)だけの場合、列(行)番号の指定は省略することができます。
コンボボックスにて得意先を選択すると、他のデータも選択されたデータが表示されます。
今回はこのようなフォームを作成しましょう。
■コンボボックス
コンボボックスとは、値をドロップダウン式に一覧から選択できるようにするものです。
[表示]→[ツールバー]→[フォーム]を選択し、フォームツールバーを表示し、コンボボックスを
シート上に貼り付けます。
フォームツールバーのコンボボックス
■INDEX関数
INDEX関数は、任意の範囲内で、指定した行と列が交差するセルの値を求めます。
■フォームの作成
以下のようなデータテーブルから、選択した得意先のデータをフォームに表示するようにします。
データテーブル   明細データ
@シートに貼り付けたコンボボックス上で右クリックし、[コントロールの書式設定]→[コントロール]を
選択し、[入力範囲]に得意先のデータ(この例の場合だとC3からC7)を選択し、[リンクするセル]には
任意のセル(この例ではセルG2)を選択します。
A明細データの得意先には「=INDEX(B3:F7<得意先データ>,G2<コンボボックスで設定したリンク
するセル>,2)」と入力すると、コンボボックスで選択したものが表示されます。
(同様に受注コードなどもINDEX関数を使用します)
  数式(例)
受注コー =INDEX(B2:F7,G2,1)
単価 =INDEX(B2:F7,G2,3)
原価 =INDEX(B2:F7,G2,4)
担当 =INDEX(B2:F7,G2,5)
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます