Excelでプルダウンから項目を選んだとき、その項目に対応する情報を別のセルに自動表示したいと思ったことはありませんか?
例えば、商品名を選ぶだけで価格を表示したり、社員名を選ぶだけで部署名を表示したりすることができます。
この記事では、Excelの検索関数を使って、プルダウンで選択した値に対応するデータを自動表示する方法を解説します。該当するデータがない場合に、エラーではなく空白を表示する方法も紹介します。
1. 今回の例
今回は、次のような表を使います。
| B列:商品名 | C列:価格 |
|---|---|
| りんご | 150 |
| みかん | 100 |
| ぶどう | 300 |
| バナナ | 120 |
F列のプルダウンで商品名を選択すると、G列に対応する価格が表示されるようにします。
例えば、F3で「りんご」を選ぶと、G3に「150」と表示される仕組みです。
2. XLOOKUP関数で自動表示する方法
XLOOKUP関数を使うと、選択した項目に対応するデータを簡単に取得できます。
手順1:プルダウンを設定する
プルダウンを作成するセルを選択し、Excelの「データ」タブから「データの入力規則」を開きます。
入力値の種類を「リスト」に設定し、元の値に商品名の範囲を指定します。
例えば、商品名がB3からB21にある場合は、次のように指定します。
=$B$3:$B$21
すでにプルダウンが設定されている場合は、この手順を省略できます。
手順2:隣のセルに数式を入力する
G3セルに、次の数式を入力します。
=IFERROR(XLOOKUP(F3,$B$3:$B$21,$C$3:$C$21),"")
この数式は、F3で選択した値をB3:B21から探し、同じ行にあるC列の値を表示します。
それぞれの部分の意味は次のとおりです。
F3:プルダウンで選択した値$B$3:$B$21:検索する商品名の範囲$C$3:$C$21:表示する値の範囲IFERROR(...,""):エラーが発生した場合に空白を表示する
手順3:ほかの行にも数式をコピーする
G3セルの数式を、G4やG5など必要なセルまでコピーします。
これで、各行のプルダウンで選択した項目に応じて、対応する値を表示できます。
3. XLOOKUP関数が使えない場合
Excelのバージョンによっては、XLOOKUP関数が使用できない場合があります。
その場合は、VLOOKUP関数を使って同じ処理を行えます。
G3セルに、次の数式を入力してください。
=IFERROR(VLOOKUP(F3,$B$3:$C$21,2,FALSE),"")
この数式では、B列から商品名を検索し、同じ行の2列目にあるC列の値を返します。
F3:検索する値$B$3:$C$21:検索対象の表2:表の左端から2列目を返すFALSE:完全一致で検索するIFERROR(...,""):エラーの場合は空白を表示する
VLOOKUP関数は検索範囲の左端の列で検索するため、今回のように商品名がB列、表示したい値がC列にある場合に適しています。
4. データが見つからないときに空白にする方法
検索した値が見つからない場合、数式によってはエラーが表示されます。
そのようなときは、IFERROR関数を組み合わせます。
例えば、次の数式です。
=IFERROR(XLOOKUP(F3,$B$3:$B$21,$C$3:$C$21),"")
最後の "" は、空の文字列を意味します。
これにより、エラーが発生した場合はセルにエラー表示を出さず、空白にできます。
ただし、検索結果が空欄である場合と、検索自体に失敗した場合を区別したいときは、別の数式が必要になることがあります。
5. #NAME? エラーが表示される場合
数式を入力したときに「#NAME?」と表示される場合は、次の点を確認しましょう。
- 関数名のスペルが正しいか確認する
- 数式の記号や括弧が正しいか確認する
- 使用しているExcelがXLOOKUP関数に対応しているか確認する
- XLOOKUPが使えない場合は、VLOOKUP関数に置き換えて試す
特に古いバージョンのExcelでは、XLOOKUP関数が使用できない場合があります。
6. まとめ
Excelのプルダウンで選択した値に対応するデータを自動表示するには、XLOOKUP関数やVLOOKUP関数が便利です。
今回のポイントをまとめます。
- 新しいExcelではXLOOKUP関数が便利
- 古いExcelではVLOOKUP関数が使える場合がある
- IFERROR関数を組み合わせると、エラー時に空白を表示できる
- 数式をコピーすると、複数行でも同じ仕組みを利用できる
プルダウンと検索関数を組み合わせれば、入力の手間を減らし、Excelの表をより使いやすくできます。
Share this content:
コメント