Excelを勉強しましょう EnjoyExcel

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

VLOOKUP関数の第4引数"TRUE"の使い方 事例を使って解説

VLOOKUP関数 第4引数"TRUE"の使い方 事例を使って解説

 

 

本やネットで紹介されているのは第4引数がFALSE(完全一致)での使い方の方が圧倒的に多いのであまり知られてないのですがこれもまた便利な機能です。

 

質問

「最後の引数がTRUEを使う時はどんな時ですか?」という質問をいただきました。

 

確かにVLOOKUP関数の使い方(条件)によっては第4引数はTRUEじゃないといけない時が出てきます。この4番目の引数の使用方法について説明していきたいと思います。

 

実際関数を書くと以下のように説明が出てきますよね。

TRUE - 近似一致:範囲の先頭列の値は昇順で並べ替えておく必要があります。

FALSE - 完全一致:VLOOKUPでは、完全一致のみ検索されます。

 

エクセルさんは親切に・・・というつもりですが分かってる人じゃないと分からない説明をしてくるので何の事なのか分かりにくいです。対応出来てそうで来てない感じがあります。

 

どちらも使用にあたっての注意事項なのですが近似一致は関数を書く前に注意することを指摘していて完全一致は関数を書いた後の結果について指摘をしています。

 

完全一致については「第1引数の検索値と一致したものしか抽出しませんよ」と言っています。VLOOKUP関数を完全一致で使っている方はイメージで「そうだよね」となると思います。

VLOOKUP関数について

参考までにVLOOKUP関数に関連する記事を載せておきます。(第4引数は完全一致で紹介しています)

近似一致については使用するにあたっての注意事項です。では実際に使用してみましょう。

事例紹介

B列に宿泊施設名、C列に価格。D、E列はG、H列の情報をもとにランクを設定しています。D列はIF関数で抽出しE列はVLOOKUP関数で抽出しています。B列は商品名、C列を単価とかにしても使えそうです。余裕がある方は皆さんの身近な事例で置き換えてこの記事と一緒に作業してみてください。

 

D、E列では結果が同じになるようにしています。

 

1つのシートに2つのリストを用意してみたりリストなのに空欄が・・・等々突っ込みどころもあるのですが説明の為あえてこのような仕様にしています。ここはひとまずご容赦ください。

D4セルに書かれている関数です。

2つの関数を比較

=IF(C4<$G$4,"",IF(C4<$G$5,$H$4,IF(C4<$G$6,$H$5,IF(C4<$G$7,$H$6,IF(C4<$G$8,$H$7,IF(C4>=$G$8,$H$8,""))))))

 

ん~・・・見たくない。でもこういった関数の使い方は皆様の身近なところにもありませんか。ある意味理解出来ているので文字数の多い関数が使えるのですが誰得なのか分かりませんよね。出来るだけやめたいものです。

 

代わってE4セルに書かれている関数です。

 

=IFERROR(VLOOKUP(C4,$G$4:$H$8,2,TRUE),"")

 

違いは明らかです。省略されているわけではなく式がすっきりしてますよね。エラーも出てないです。一見信じがたいのですがIF関数で書いた式とVLOOKUP関数で書いた式は同じ戻り値を返すという事になります。


コピーしたかの様にデータは完全に一致しています。入力が少なくて済むのでエラーが出にくい式をセットする事が出来ました。

 

第4引数TRUEの式について説明

IFERROR関数については以下記事で説明しています。(先程紹介させていただいた記事と一緒です)

enjoyexcel.hatenablog.com

関数を読めば分かるのですがVLOOKUP関数で指定している範囲は以下のようにG、H列に居る価格と範囲を示したテーブルになります。

先程書きました関数を書いているときに出てくる注意点はこのように範囲を指定した際に注意するべき事を言っています。

 

TRUE - 近似一致:範囲の先頭列の値は昇順で並べ替えておく必要があります。

見てみると範囲の先頭列(価格列)は昇順になってますよね。上記ふまえて次の数式をみていきましょう。

 

=IFERROR(VLOOKUP(C4,$G$4:$H$8,2,TRUE),"")

 

C4にいる宿泊施設の価格が5,000円から9,999円までがランクD、10,000円から14,999円までがランクC・・・という様に検索値がどの価格帯に当てはまるのかを考えてくれて結果を返してくれます。5,000円未満は空欄となります。

 

察しが良い方なら既にお気づきかと思いますが先程範囲を昇順にしたのはこのためです。すごいのは範囲の上限を超えた値までしっかり戻り値を返してくれるところです。下限を下回る値はIFERROR関数でカバーする必要があります。

 

D列の様にIF関数を使っても書けるのですが明らかにVLOOKUP関数を使った方がスッキリしていますよね。検索値が文字列だと使えない等制約はありますがハマれば良い使い方が出来そうですよね。


VLOOKUP関数のツボとコツがゼッタイにわかる本

スピードマスター 1時間でわかる エクセル VLOOKUP関数 デキる同僚はみんな使ってる!

スピードマスター 1時間でわかる エクセル VLOOKUP関数 [改訂2版]

お知らせです

 関数は自力でも十分勉強出来ます。関数については知識の定着を目指す中で書籍が有効なツールの1つだと思っています。

 

私は習得したい知識についてはネットで色々調べますが最終的は書籍を購入しています。厚めの本は電子書籍で購入しています。

 

数値化出来ない主観的な話ですが読み返すことで知識の定着率が高まると感じています。書籍はおすすめコンテンツの中の1つだと思っています。

 

書籍の選び方や読み方についても解説しています。良かったらご覧ください。

Excel初心者の方向け本の選び方と読み方について解説します

 

最後に私が用意しておりますすべての記事へのリンクです。

目次 - Excelを勉強しましょう

 

今回はここまでとさせていただきます。