VLOOKUP関数とコンボボックスのコンビネーション


基本あらかると

■フォームツールの中のコンボボックスとVLOOKUP関数を組み合わせた使い方です。



上図のようなExcelシートがあります。A列は項目名、B列は入力セルです。D列からF列は参照テーブルです。
セルB2の品名入力は、E列の品名をリスト表示させその中から選択し、該当テーブル行の単価を引用します。
数量を入力するとセルB5の金額は数量×単価の計算値とします。


1.品名のリスト表示入力の設定方法

  @ ツールバーの「フォーム」を有効にします。
       
表示 → ツールバー → フォーム をチェックします。

  A フォームツールバーからコンボボックスを選択しどこでもよいのでシートに定義します。
            

           ← コンボボックス

   B コンボボックスをダブルクリック (もしくは右ボタンをクリックしコントロールの設定をクリック)しコントロールの書
    式設定を表示します。

     ※コンボボックスを CTRL+クリック でフォーカスしてからダブルクリックします。

       

         上図のように定義します。

    C リストボタンをクリックし確認して下さい。結果表示のセルB2には相対行番号(aaaaaa=1)が表示されます。
      
       
コンボボックスに表示されるリストから選択すると結果セルB2に相対番号が表示されるのを確認して下さい。


2.関数式の設定

   @セルB3にVLOOKUP関数を定義します。
      
=IF(B2<>"",VLOOKUP(B2,D2:F6,3),"")

        セルB2が無記入の場合にVLOOKUPが機能しないようにIF構文と組み合わせします。

   AセルB5に単価×数量の数式を定義します。
       
=IF(B4<>"",B3*B4,"")

        セルB4が無記入の場合に計算しないようにIF構文と組み合わせします。


3.セルB2とコンボボックスを合体させ体裁を整えます。

   @ コンボボックスをフォーカスします。  (CTRL+クリック操作)

   A コンボボックスをセルB2に移動します。(ドラッグ&ドロップ操作)

   B セルB2のセル幅と合わせます。
       セル幅とあわせる方法は、ALT+範囲枠の右下をマウスでポイントし枠を移動させます。

     結果下図のようになります。