Excelを勉強しましょう EnjoyExcel

アイコンの機能や関数の説明、VBA初心者向けの勉強方法について情報掲載しています。関数、VBAともに理解が進むように出来るだけ事例を交えて説明しています。

動画有VLOOKUP関数について引数毎に丁寧に解説していきます

f:id:EnjoyExcel:20210626121809p:plain

動画有VLOOKUP関数について引数毎に丁寧に解説していきます

 

はじめに

「VLOOKUP使えますか?」なんて聞いたり聞かれたりしたことありませんか?

 

「この関数わかると中級者です」という感じで用いられる関数です。

 

私はそうは思ってないのですが人気があるというかすぐ話題にあがる関数ですので使えると話が広がると思います。ひとまずどんなものなのか使ってみましょう。

VLOOKUP関数で出来る事

そもそも何が出来るのか。私は検索のような使い方をする事が多いです。

CASE1

  • 〇〇というデータの△△が知りたい

具体例

AさんのTELを確認したい。TELだけでは個人を特定出来ないのでまずAさんを特定してからAさんのTELを取り出す。

CASE2

  • 商品〇〇は価格テーブル内のどの価格帯に居るのか?

具体例

Aホテルの宿泊料金はB円とC円の間なので価格ランクとしてはDです。

 

今回は最初に提示したCASE1について解説していきます。なおCASE2については関連記事を参照ください。

enjoyexcel.hatenablog.com

事例紹介

例を提示させていただきます。

f:id:EnjoyExcel:20210413153023p:plain

D列に品番が居てE、F列は品番に紐付く情報です。属性ですね。

 

セルH3に 〇〇Assy という表記があります。AssyというのはAssemblyの略です。複数の部品の集まった(組みあがった)ものをイメージしてください。

 

〇〇AssyはセルH5~セルH9の部品が組み合わせられたものだと思ってください。

 

その横 I列にリードタイムを表示しています。それぞれの部品を発注してから何日後に手配出来るのかという目安の日程です。

 

最後にK、L列です。5つ部品があるので一番遅い日程をL列に取る事で〇〇Assyの部品集合リードタイムを見られるような建付けとなっています。

 

実際に使っているものは数万点の品番情報であったりAssyを選択すると構成部品が自動で入力される等少し違ったものですが今回は勉強用という事でご容赦ください。

 

実際に関数を書いた動画をみてください。

 

結構簡単に数値が取れてセルL4に部品集合日が表示されてますよね。

 

関数の説明

では実際に関数を見ていきましょう。まずは建付けから確認します。

=VLOOKUP(検索値,範囲,列番号,[検索方法])

 

以下で引数毎に用途とポイントを解説します。

第1引数:検索値

調べたい値です。今回のように「このセルの値」というようにセルH5を指定します。検索したい文字を直に書いても出来ますがデメリットのが多いのでお勧め出来ません。理由は後で説明します。

 

第2引数:範囲

検索値が居るのか調べたい範囲と結果を取り出したい範囲を合わせたものです。今回でいうとセルD5~F34です。

 

第2引数1点目のポイントです。

検索値が居ると思われる列は必ず検索範囲の一番左に来るようにしてください。これはこの関数の決まりなのでそう覚えてください。

 

第2引数2点目のポイントです。

範囲には用途に応じて相対参照、絶対参照を使い分けましょう。

具体的には範囲に$マークを付ける事で範囲を固定する事が出来ます。

今回は1つのセルに関数を書いて複数のセルに展開するつもりです。範囲を固定した方が都合が良いので固定することにします。

 

相対参照と絶対参照が分からない方もいると思います。出来るだけ早く記事にしますので今回の事例は行、列にドルマークを付けると覚えてください。

 

関数の中でセル番号を記入したところにカーソルを持っていきキーボードのF4ボタンを押すと簡単にドルマークが付けられます。4回押すと元に戻ります。

 

例えば関数の中のD5という文字にカーソルを合わせてF4を押すと・・・

  1. $D$5 ・・・ 行、列共に固定
  2. D$5 ・・・ 行を固定
  3. $D5 ・・・ 列を固定
  4. D5 ・・・ 行、列共に固定しない

と変化します。

 

これも映像を見てください。

youtu.be

第3引数:列番号

第2引数で決めた範囲から値が欲しい列を左から数えて指定します。

今回はリードタイムが欲しいので指定した範囲の3列目になりますから3を入力します。

 

第3引数のポイントです。

指定する列は指定した範囲の左端から数えた値であることを忘れないようにしましょう。今はF列が対象なのでエクセルシートの左端から数えると6列目なのですが範囲にとっているのはD列からなのでD、E、Fと数え3列目です。注意しましょう。

セルI5を選択してみると関数がどこを選択しているのかわかります。

以下画像をみてください。 

f:id:EnjoyExcel:20210414001536p:plain

 

第4引数:検索方法

通常はFALSEと入力します。検索する値と検索される値が完全一致したものだけ取り出したいときはFALSEにします。

 

TRUEにすると似ているものを拾ってきてしまうので誤った情報が入力されてしまいます。

 

おそらくですが「あいまい検索しますよ」という問いに対してTRUE(近似一致)。あいまいはダメなのでFALSE(完全一致)ということなのだと思います。

 

 そろそろ疲れてきましたよね。もう少しだけ。

 

あとはセルI5に書いた関数をセルI9まで展開するだけです。

 

ここで範囲を固定したドルマークが働き毎回同じ範囲を探しに行くことが出来つつ検索値は値を直書きしなかったのでひとつずつ下にスライドさせることが可能になるわけですね。

 

L列にも一番遅い部品の日程が入り部品集合のリードタイムを確認する事が出来ました。

 

まとめ

なんとなくですがイメージ出来たでしょうか。質問あればコメントください。回答させていただきます。

 

ここからは余談です。つまり必要ない文章ですのでお時間ある方だけお付き合いください。

 

冒頭で「この関数使えるとExcel中級者・・・」という話をしました。私は「中級」って何だ?と考えてしまいます。

 

理由は仕事によって使う関数にかなり幅があると思っていまして中にはVLOOKUP使わない人も居るからこの関数だけでスキルを判断するのは難しいと思うからです。

 

「VLOOKUPは慣れないと難しいし一応使えるけど人にうまく説明できない」という意見も聞きます。意識してないかもしれませんが配列の要素も入っていて実際少しだけ難しいのは確かです。

 

関数単体として少し難しいからこれが理解できるという事はある程度スキル持ってるな。という理屈で中級者・・・ぐらいの話ならそうかもなと思うのですがこの関数だけでExcelスキルを語るのはちょっと難しいと思います。あくまで目安ですね。

 

以上余談でした。では失礼します。