ExcelのLOOKUP関数を使う際に迷いやすいポイントのひとつが、検索範囲をどのように指定するかという点です。範囲設定を間違えると、正しい値が返ってこなかったり、意図しない結果が表示されたりすることがあります。この記事では、LOOKUP関数の基本的な範囲指定の考え方や、具体例を使った設定方法について分かりやすく解説します。
LOOKUP関数の基本的な仕組み
LOOKUP関数は、指定した範囲から検索したい値を探し、対応する別の値を返すために使用するExcelの検索関数です。
基本的な書式は「=LOOKUP(検索値,検索範囲,対応範囲)」となります。検索値とは探したいデータ、検索範囲とは検索対象となるセル範囲、対応範囲とは検索結果として返したいデータが入力されている範囲です。
例えば、商品コードから商品名を調べたい場合、商品コードが入力されている列を検索範囲に指定し、商品名が入力されている列を対応範囲として指定します。
LOOKUP関数で指定する検索範囲の設定方法
検索範囲は、LOOKUP関数が探しに行く場所を指定します。例えばA列に商品コード、B列に商品名がある場合、検索範囲はA列になります。
例として以下のような表がある場合を考えます。
商品コードがA2:A5、商品名がB2:B5に入力されている場合、商品コード「103」の商品名を取得するには「=LOOKUP(103,A2:A5,B2:B5)」のように指定します。
この場合、A2:A5が検索範囲、B2:B5が対応範囲になります。2つの範囲は同じ行数にそろえることが重要です。
検索範囲と対応範囲のサイズを合わせる理由
LOOKUP関数では、検索範囲と対応範囲の大きさが一致している必要があります。
例えば検索範囲がA2:A10なのに、対応範囲がB2:B5になっている場合、対応するデータが不足するため正しい結果を取得できません。
表の行数が増える可能性がある場合は、余裕を持った範囲指定やテーブル機能を利用すると、後からデータを追加しても管理しやすくなります。
LOOKUP関数では範囲の並び順にも注意が必要
LOOKUP関数を利用する場合、検索範囲のデータは基本的に昇順で並んでいる必要があります。
例えば数値の範囲で検索する場合、「1、2、3、4」のように小さい順に並んでいる必要があります。順番がバラバラの場合、正しく検索できないことがあります。
社員番号や商品コードなど完全一致で検索したい場合は、LOOKUP関数よりもXLOOKUP関数やVLOOKUP関数の利用が適している場合もあります。
LOOKUP関数を使った具体的な範囲指定例
例えば、A列に点数、B列に評価を設定した表があるとします。
A列に「0、60、80、90」、B列に「D、C、B、A」と入力している場合、「85点の場合の評価」を求めるには「=LOOKUP(85,A2:A5,B2:B5)」と指定します。
この場合、85は80以上90未満なので、検索範囲A2:A5から最も近い値を探し、対応するB列の「B」を返します。
LOOKUP関数で範囲指定を間違えた場合の確認ポイント
LOOKUP関数で期待した結果が表示されない場合は、まず検索範囲と対応範囲が正しく指定されているか確認しましょう。
また、検索範囲が昇順になっているか、空白セルや文字列と数値が混在していないかも確認するポイントです。
特にコピーしたデータや他のシステムから取り込んだデータでは、見た目が同じでも内部的な形式が異なることがあるため注意が必要です。
まとめ
ExcelのLOOKUP関数で重要なのは、検索範囲と対応範囲を正しく設定することです。
検索範囲には探したいデータが入っている列を指定し、対応範囲には返したい結果が入っている列を指定します。また、2つの範囲の大きさをそろえ、検索範囲を適切な順番に並べることも大切です。
LOOKUP関数の範囲指定の仕組みを理解すると、商品管理や成績表、住所録などさまざまなExcel作業を効率化できます。


コメント