「VLOOKUP」関数
参照用の表から該当する値を検索し、表示してくれる関数
VLOOKUP関数 検索方法
まずは、B列セルに記号を入力するとC列セルに内容を表示する関数を入力します。
入力前
C3セルに「 =VLOOKUP(B3,J3:L12,2,FALSE)」と記入
C3のセルに、右側表の記号 H001 の内容「ひび割れ補修 自動式低圧エポキシ樹脂注入工法」という文言が表示されました。
=VLOOKUP(①検索値,②範囲,③列番号,④検索方法)
の式にあてはめてみると、
① 検索値:B3セル「H001」この値が参照用の表から検索される。
② 範 囲:現時点では「J3:L12」。下図赤枠範囲
③ 列番号:上図赤枠範囲の2列目の「内容」を表示したいので「2」を記入。
④ 検索方法:「FALSE」
という内訳になります。
D列「数量」とE列「単位」はその都度変更となる部分ですのでとばしします。
つづきまして、F3にも「単価」を表示するVLOOKUP関数を入力します。
F3のセルに、右側表の記号 H001 の単価「¥H,001」という文言が表示されました。
金額のセルには「=IF(単価=” “,” ”,数量 × 単価)」([Excel]IF関数の使い方 ① 条件つき数式の挿入 参照)の計算式が入っています。単価を記号と対比しやすいように「¥H,001」としてるので計算できてませんが、「数量」と「単位」を記入し、右表の「¥H,001」を仮に¥4,500としてみると、
上のとおり、計算されました。
C3とF3に入力したVLOOKUP関数を22行目までコピペをします。
その前に、
参照範囲の固定
=VLOOKUP(①検索値,②範囲,③列番号,④検索方法)
の「②範囲」に関しては、どの行に対しても固定した領域が対象となりますので
C3セル「 =VLOOKUP(B3,J3:L12,2,FALSE)」のJ3の後ろにカーソルを合わせ
F4キーを押す
続いて「 =VLOOKUP(B3,J3:L12,2,FALSE)」のL12の後ろにカーソルを合わせ
F4キーを押す
これで参照範囲は固定され絶対参照となりました。
このまま下段にコピペすると、
上のとおりエラー表示されます。
IF関数の併用
「値が数式または関数に対して無効です。」らしいので、B列セルの「記号」欄に表示がない場合は表示しないようにIF関数を使用します。([Excel]IF関数の使い方 ① 条件つき数式の挿入 参照)
数式を「=IF(B3=””,””,VLOOKUP(B3,$J$3:$L$12,2,FALSE))」に変更します。赤字部分が追加記入した部分となります。
F3セルの数式も同様に変更し、下段にコピペしていく
↓ こんな感じで使えます。
(記号セルは「データタブ>データの入力規則>リスト」でリスト化しています。)
この関数のよいところは、セルへの記入の簡略化というだけでなく、今回の例でいうなら、「内容」と「単価」をセットで記入できるというところです。記載内容を間違えても、記号部分を変更すれば「内容」と「単価」をセットで変更できます。
検索方法「TRUE」の指定
VLOOKUP関数の検索方法を「TRUE」に指定すると、データが完全に一致しない場合には近似値を検索してくれます。
例えば以下の場合、評価欄にVLOOKUP関数を入力するのですが、成績表の5教科合計を検索値とし、評価基準が範囲と列番号となり、検索方法を「TRUE」にします。
で、ちなみに検索方法を「TRUE」にする場合、参照用の表は昇順に並べておかないといけません。
あと、参照用の表には最小値のデータを入れておく。最小値が無い場合、上図で例えると「0」がない場合、100以下の数値にはエラーが表示されます。
数式は上図のとおり。
検索方法が「TRUE」になっただけです。
以上、検索方法を「TRUE」にした場合の使い方でした。