カテゴリー
VLOOKUP 関数

誰でもできるVLOOKUPをマスターしよう(サンプルデータ配布)

EXCELの基本となるVLOOKUPをマスターして、仕事の業務効率化をしましょう

VLOOKUP(ブイルックアップ)は指定した値を参照し、すぐ隣にあるデータを引っ張ってくる関数です。この関数を使いこなせば1つの値を入れればデータを複数個飛ばすことができるのでデーター入力の効率化ができます。

用途
・情報整理
・売上票の作成
・データーベースからの参照

関数

=VLOOKUP(①検索値, ②範囲, ③列番号, ④検索方法)

関数の説明
①検索値 入力したデーターの参照元になる値を入れます。
②範囲  データーベースの表の範囲を指定します。
③列番号 データーベースの左から数えた番号を入れます。
④検索方法 FALSEまたはTRUEのどちらかを入れます。

サンプルとしまして、商品情報を入れれば自動で売上金額を自動で計算される表を用意しました。

こちらをクリックしてダウンロード


サンプルでの表の見方
データーベース部分

左側にある部分がデーターベースの部分になります。

VLOOKUP関数が入っている箇所は右側のデーター入力箇所の黄色に塗ったところになります。

茶色の情報入力欄の部分に各項目を入れると自動で黄色の値(商品名と単価)が表示され、緑色の金額が自動で計算されるという仕組みになっています。

黄色の表のL5にはこのようにVLOOKUP関数を入れています。

=VLOOKUP(K5,$D$4:$F$9,2,FALSE)
これを分解すると・・・
①検索値 →K5
セル番号K5に入っている商品コード1と、範囲で合致した値を検索する。

②範囲  →$D$4:$F$9
データーベースの表D4からF9までの範囲までを参照する。

③列番号 →2
データーベースの2列目の値(商品名)を出すこと。

④検索方法→FALSE
一致しないものはエラーを表示する。

としています。

隣のM5には・・・
=VLOOKUP(K5,$D$4:$F$9,3,FALSE)
が入っています。

①検索値 →K5
セル番号K5に入っている商品コード1と、範囲で合致した値を検索する。

②範囲  →$D$4:$F$9
データーベースの表D4からF9までの範囲までを参照する。

③列番号 →3
データーベースの3列目の値(単価)を出すこと。

④検索方法→FALSE
一致しないものはエラーを表示する。

関数の引用の画面だとこのような形になります。

L5とM5の関数が出来上がれば、オートフィルで下に式をコピーすれば検索値が自然と移動するので簡単にできあがります。

・データーベース作成の注意点
①検索値の値を左側のセルに持ってくること
データーベースを作成するには次の注意点が必要です。VLOOKUP関数では①検索値から右側にある値しかもっていきません。そのため、①検索値になるようなコード類は必ず左側に持っていき、必ず②範囲指定で最左にするようにしてください。検索値はデーターベースと入力項目で一致していれば記号でも文字列でも結果が返ってきます。結果が返ってくるといっても検索値にするのはできるだけシンプルな数字や英語を使ったコードにすると良いです。

②データーベースの検索値部分は同一の値を存在させないこと
データーベース内に同一のコードが存在すると、VLOOKUP関数の性質から上位にあるコードを優先して値を返すようになっています。重複させないようにしてください。

このようにデーターベース部分にコード2と書いたバナナとレモンがあったときに、データーべースから返ってくる値はデーターベース上部にあるコードのバナナを優先して値が返ってきます。レモンには他のコードとは重複しないコードを与えれば正しい結果が返ってくるようになります。

・VLOOKUP関数でよくあるエラー
TRUEとFALSEの使い分け
FALSEを使う場合
完全にデーターベースと一致するコードを参照したい場合はFALSEを使ってください。

TRUEを使う場合
検索値に近いコードで結果を求めている場合はTRUEを選択してください。(TRUEを使う用途があまり思いつかないです。)
試しにサンプルのL5の関数にて④検索方法部分をFALSEからTRUEに修正し、K5を2.4にすると2に近いバナナが表示されます。FALSEだとエラー表示になります。この幅は2.0~2.9の値であればすべてバナナが表示されます。こういった不確定な幅で検索結果を求める場合はTRUEを使うと良いです。

・②範囲指定がずれる
同じデーターベースを参照して関数を作る場合は、②範囲の指定は他のセルにコピーしたときでも、範囲がズレないように②範囲に入れたセルの部分を&で囲うと便利です。

・③列番号の指定
列番号を指定を誤るとVLOOKUPの値の結果が誤った値が出てきてしまいます。サンプルのようにデーターベースの上に列番号を表記しておくと便利です。データーベースが20列になるとゴチャゴチャになってしまいますからね。

VLOOKUP関数と他の関数を組み合わせて使う
#N/Aの表示を無くす
①検索値にある値の箇所に数値が入ってないとこのようにエラー表記になってしまいます。表の作りとしては問題ありませんが、見栄えが悪いです。

これを回避するために、VLOOKUP関数と組わせでIFERROR関数を組み合わせると①検索値が空白であっても#N/Aが表示されなくなります。
サンプルデータのL5を
=IFERROR(VLOOKUP(K5,$D$4:$F$9,2,FALSE),” “)
にすると#N/Aの表示が消えます。
これはエラー表示だった場合にどのような表記をするかという関数を組み合わせた結果でエラー表示を消しています。
エラー部分を空白としていますが、上記の組み合わせ関数で赤く塗った箇所を
=IFERROR(VLOOKUP(K5,$D$4:$F$9,2,FALSE),”記入なし”)
とすると、無記入の①検索値に対しては記入なしと自動で表示されます。

カテゴリー
LEFT LEN MID RIGHT 関数

セル内の特定・不特定の文字を取り出す関数

エクセルから文字を切り取って別のセルに貼り付ける方法を紹介します。別のセルに切り取るには特定の文字だけを削除する方法、不規則の文字列から抽出する方法があります。この関数を使いこなせば表記ズレを直したり、一括で文字を修正するのに役立てます。


セル内の特定した文字だけを取り出す場合

例:メールアドレスの一部(@以降)を切り取りたい場合


@example.comを削除
下記の表でメールアドレスの@以降のドメイン部分を切り取りたい場合は置換機能で切り取ることができます。

①削除したいセルの範囲をマウスでドラッグする。



②検索と置換機能を使う
キーボードのコントロールボタンとHボタンを同時に押して検索と置換機能を呼び出して下さい。

③削除する
検索する文字列:@example.com
置換後の文字列:
空白にします。
この入力が終わったらすべて置換をクリックします。


④削除後の内容確認
置換が終わったら削除できてるか確認してみて下さい。


同一の内容であればこのような一括削除が可能です。
置換後の文字列:に任意の文字を入力すれば、検索する文字列から置き換えすることができます。ドメインの変更があった場合に役に立ちます。



不規則の文字を取り出す場合
特定の文字列ではなく、不規則に並んでいるセルうち、指定した範囲の文字を取り出します。

取り出す前に指定した文字がセル内の何文字目に存在するか確認する必要があります。セル内に記載された内容を読み上げれば数えられますが、関数によって探すことができます。

=FIND(”検索したい単語”,文字数目を表示したいセル)
=FIND(“o”,B3)
”o”→セル内に含まれているoを検索する。大文字と小文字は区別されてます
B3→B3の中身を検索する。
関数の入力結果は16と表示されました。
1文字目から検索開始して16文字目にoという文字が含まれてましたのでこのような結果となります。

下記の例でoが含まれてるのを抜き出すとこのような結果になります。

また、文字は1文字だけではなく単語を入れても検索可能です。
co.jpを検索文字とした場合は下記のような結果となります。
結果に♯VALUE!となっている場合は検索単語が含まれていないという意味になります。



セル内の検索したい文字数目が判明したら抜き出す情報が手に入りました。抜き出すのに使用する関数は
①LEFT関数
②RIGHT関数
③MID関数
になります。

例 URLを記載したセルからそれぞれの関数を使って抜き出す。

①LEFT関数
セルに記載されている文字から左から数えて○個目の文字まで表示する関数
=LEFT(指定したセル,抜き出す文字数)

URLからhttps://の部分を抜き取る場合は次のような式になります。

=LEFT(B3,8)
B3にあるセル→https://www.yahoo.co.jp/
文字数→8文字

FIND関数でwwwを検索値にすればwにある文字数が9文字目と結果が返ってきますので、その1文字前のLEFT関数内では文字数8と入力すれば良いということがわかります。


②RIGHT関数
セルに記載されている文字から右から数えて○個目の文字まで表示する関数
=RIGHT(指定したセル,抜き出す文字数)

URLから右から数えて10文字目以降の文字を表示させる
=RIGHT(B3,10)
B3にあるセル→https://www.yahoo.co.jp/
文字数→10文字
その結果、 hoo.co.jp/ が表示されます。

③MID関数
指定した文字以降から指定した文字数までを取り出して表示する関数
=MID(指定したセル,抜き出したい文字数目,抜き出したい文字数)

FIND関数で抜き出したい文字を検索値にして何文字目に存在するのかを調べておくとMID関数を入力するのが楽です。

例 www以降の文字を抜き取りたい
=FIND(“www”,B3)
と入力し、結果が9と返ってきます。
なので、MID関数に入力する抜き出したい文字数目には9と入力すれば良いと言うことがわかります。

URLから9文字目以降の文字を表示させる
=MID(B3,9,1000)


B3にあるセル→https://www.yahoo.co.jp/
9→B3にあるセルの9文字目
1000→セル内の1000個までを取り出す。
1000は例です。セル内の値を超えた分は表示されず、表示可能な中身が全て表示されます。10とすれば10文字分取り出します。
10文字の場合は www.yahoo. となります。
半角・全角関係なく1文字は1文字として取り出します。

この関数を使う場合、上記の特定の文字を削除すると同じような結果になります。不特定の文字が並んでいる内の○文字以降を抜き出したいという場合はこの関数が有効的に使えます。


おまけ
セル内の文字数が何文字入っているかを調べる関数

=LEN(調べたいセル)
先程のB3の文字数を調べるときは・・・
=LEN(B3)
と入れます。すると24という数字が返ってきますので、この数字が文字数を表しています。

FIND関数でwwwを検索値にすればwにある文字数が15文字目と結果が返ってきますので、その1文字前のRIGHT関数内では文字数10と入力すれば良いということがわかります。