得意先の会社名などのように、毎回決まったグループから同じ文字を入力するケースでは、ワークシートにリストボックスを配置してマウスで選択できるようにすると便利だ。ここでは、VLOOKUP関数との合わせ技を紹介しよう。

 ワークシート上にリストボックスを配置するには「開発」タブの「挿入」ボタンを使う。Excel 2007の初期状態では「開発」タブが表示されない設定になっているので、まず「開発」タブを表示しよう。
 「Office」ボタンをクリックして「Excelのオプション」ボタンをクリックする。表示される「Excelのオプション」ダイアログボックスの左側で「基本設定」を選択し、右エリアの「[開発]タブをリボンに表示する」チェックボックスをオンにしよう(図1)。「OK」ボタンをクリックすればリボンの右端に「開発」タブが表示される。

拡大表示
図1 Excelのオプションを変更して「開発」タブが表示されるようにする

 「開発」タブの「コントロール」グループの「挿入」ボタンをクリックし、「フォームコントロール」の「リストボックス」ボタンをクリックする(図2)。下の「ActiveXコントロール」欄にも同じ「リストボックス」ボタンがあるが、ActiveXコントロールは使い方が高度なためここでは「フォームコントロール」のリストボックスを例に解説しよう。

図2 「挿入」ボタンをクリックして「リストボックス」を選択する。今回は「フォームコントロール」のリストボックスを使う

 「リストボックス」ボタンをクリックしてマウスポインタが十字に変化したら、ワークシート上でリストボックスを配置したい位置をドラッグする。マウスのボタンを放すと、ドラッグした位置にリストボックスが配置される(図3)。

図3 マウスカーソルが「+」になったら、リストボックスを表示したい位置で斜めドラッグ。リストボックスが表示された

 配置されたリストボックスを選択して、リボンの「プロパティ」ボタンをクリックする。表示される「コントロールの書式設定」ダイアログボックスで設定する項目は2つ。リストボックスに表示する元データの在処「入力範囲」と、どのデータを選択したかを返すセル「リンクするセル」だ。ここでは図4のように設定した。元データの左側に、1から連番を入力しておくのがカギ。

図4 「開発」タブの「コントロール」グループにある「プロパティ」ボタンをクリックし、「コントロールの書式設定」ダイアログボックスで設定をする。ここでは「入力範囲」に「$B$1:$B$3」、「リンクするセル」に「$A$5」と設定した

 さて、ワークシート上に配置したリストボックスでは、選択されたデータが上から何番目であるかが「リンクするセル」に設定したセル(図ではA5セル)に入力される。わかるのは、選択した項目ではなく、何番目かという数字だ。そこでVLOOKUP関数の出番。「リンクされたセル」に入力された番号をキーにして、元データを表引きするのだ。これで、指定したセルにリストボックスで選択したデータを表示することが可能になる(図5)。

図5 リストボックスは「選択したのは何番目」というデータしか返さない。そこでVLOOKUP関数を使い元データを表引きする