No4_LOOKUP関数関連|「〇〇に一致するデータを探してくる」ができる関数たち

こんばんわ。
4回目の今回はみんな大好きLOOKUPだよ。
「LOOKUP」って〇〇を辞書とかで調べるっていう英単語です。それで今回は検索するときによく使う関数でVLOOKUPというのがありますので、こいつを深堀りしていきましょう。
※ちなみにこれはまじで奥深いので、今後別記事で、超絶技巧の関数もやっていくよ。

早速いつもどおり「=LOOKUP」と書いてみましょう。

スクリーンショット 2021-10-23 21.11.01

3つしか出てきませんね!
でもここで覚えてほしいのは唯一つ。
そう「VLOOKUP」唯一だけである。一応その他も説明しますが、一般的な営業管理の業務においてはVLOOKUPだけでいけます。

0.LOOKUP関数について


1.VLOOKUP関数

VLOOKUP関数は「Vertical Look Up」の略だと思います。
Verticalっていうのは「垂直に」とか「縦に」という意味でして、縦方向に検索するという意味ですね。

まず最初は果物の名前を入れると、産地が検索されるという関数を作りましょう。AからC列に以下のような果物、産地、個数というものを準備してください。そしたら、F2に以下の数式を記入してください。

=VLOOKUP(E2,A2:B8,2,false)

書いたら、E2に検索したい果物を記入します。

スクリーンショット 2021-10-23 21.18.18

今回は「もも」と記入しました。
結果は正しく「青森」が帰ってきましたね。

では、関数の説明をしていきましょう。説明はお作法通りGoogleさんの説明を噛み砕いて行きます。

■書き方
VLOOKUP(検索キー, 範囲, 指数, [並べ替え済み])

■説明(スプレッドシートの説明欄より引用)
概要
垂直方向の検索です。範囲の 1 列目で指定したキーを垂直方向に検索し、同じ行内にある指定したセルの値を返します。

検索キー

検索する値です(例: 42、"ネコ"、I24)。

範囲

検索対象の範囲です。範囲の先頭列で [検索キー] で指定したキーを検索します。

指数

値を返す列の指数です。[範囲] の先頭列を 1 とします。

並べ替え済み - [任意]

検索対象の列(指定した範囲の先頭列)が並べ替え済みであるかを指定します。TRUE の場合は、[検索キー] に最も近い値が返されます。

検索キーは今回「もも」を指定しました。それで、表の中でA列が「もも」になっている行の「B列※産地」を取得したいのです。
その場合検索する範囲は検索キーがある列から初めて、産地が記載されているB列までの2列なので、「A2:B8」となります。
指数というのは検索キーがある列(今回だとA列)を1列目として、取得したい値(産地※B列)が何列目にあるかということになります。なので今回はA,Bなので2となります。
次に並べ替え済み - [任意]ですが、これは問答無用で「false」と書いてください。説明はしますが、「false」と書けば優勝です。
VLOOKUPに限らずですが、プログラミングや関数は必ず上から検索(プログラムが実行)されます。なので例えば、

スクリーンショット 2021-10-23 21.38.30

このような感じで、「もも」が2箇所にあったとしても上から検索して、最初の「もも」がヒットしますので、「秋田」ではなく「青森」が検索の結果になります。なので、マネージャーさんとか、もしも自分のメンバーに同姓同名がいたり、顧客に同姓同名がいたりする時はきをつけてください。
※別記事で対応方法は書きます。

それで並べ替え済み - [任意]というのは文字のごとく、検索するものが、きれいにならび変えられているかどうかを指しております。ここで「true」を書くと、並び替えられている前提で計算がされまして、検索した中での近似値(一番近い値)が返されます。※今回は文字を検索するので、近いとかないのですが、数字だとわかります。

スクリーンショット 2021-10-23 21.47.48

数量の列を検索して、値段を調べるという関数ですが、検索している「35」という数量のセットは表のりんごセットの中にはありません。ですが、上から検索して一番近い値30<「35※検索したい数量」<40となり、30に一致した、300円が検索結果となります。
でもさ、よく考えて、営業管理で「大体300円くらい」とかありえなくない?完全一致しないなら管理上良くないので、並び替えtrueは使いません。
でも、falseよりtrueのほうが処理が早いという特性がありますが、実務上私とか10万件の検索とか行いますが、大して困りません。営業管理とかなら1秒で検索できると、2秒で検索できる別に変わらないので、「false」で優勝してください。何度も言いますが「false」です。

2.HLOOKUP関数

HLOOKUP関数はHorizontal Look Upの略なので水平検索みたいな意味になります。VLOOKUPが特定の列を縦方向に検索するのに対して、HLOOKUPは横方向に検索します。※ほぼ使わないのとVLOOKUPで代用できるので、簡単に行きます。

スクリーンショット 2021-10-23 22.03.00

今回は鈴木さんの5日間の営業電話の数の中から、指定した日付の営業電話の数の検索するものを作ってみる。

=HLOOKUP(I9,J2:N3,2,false)

検索したい日付はI9に記載した、「2021/10/03」で、検索したい範囲は2行目の日付の行、取得したい値は3行目の鈴木さんの営業電話の数なので範囲は「J2:N3」となります。※VLOOKUPと違うのは横方向ということ。
それで、検索する2行目を1としたときに取得したい鈴木さんの営業電話の数は「2」となるので、指数は2ですね。並び替えは「false」一択。

それで答えは。。。「2件」あっていますね。
※うーん普通にもうちょっと頑張ろう!ミーティングがいっぱいの日だったのかな。

こんな感じで横方向の検索にはHLOOKUPが使えます。
ただね、基本私は使わないです。なぜかというと営業管理をするときに仕様を変えなきゃとかなったときにVLOOKUPとHLOOKUPが混在すると非常に不便なので、以下の関数技工編に記載します。

No5_関数技工編(TRANSPOSE関数)|行列を入れ替える関数

あとがき
4回目ついてきてくれてありがとうございました。徒然に書いておりまして、まとまってないなと思うこともありますが、Done is Better than Perfect.「完璧を目指すより、まず終わらせろ」という精神で書いています。
そのうちちゃんと直していきますし、ご連絡いただけましたらテーマにしていこうと思います。
エクセルお兄さんyoutubeとかやろうかな。

この記事が気に入ったらサポートをしてみませんか?