2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
【#051】VLOOKUP Part6 - 第1引数「検索値」に単純なセル参照ができない時の対処法(LEFT/MID/RIGHT/FIND関数の応用)(全1記事)
リンクをコピー
記事をブックマーク
おさ氏:どうも、みなさんこんにちは。「おさとエクセル」のおさです。今日はVLOOKUP関数、第6段をやっていきます。すでにかなりの上級レベルまで来ているんですけど。
今日やることは、第1引数の検索値に直接的にIDを反映できない場合どうすればいいのかを見ていきます。具体例で見たほうが早いと思うので、早速ワークシートに移っていきましょう。
ちなみに、以前LEFT関数やMID関数、RIGHT関数といった文字列操作関数を勉強したんですが、今日はそれを使っていきます。まだ勉強していない方は、そちら見てから学習するようにしていきましょう。どうぞよろしくお願いします。
こちらのシートをご覧ください。
VLOOKUPの第1引数の検索値にIDの一部だけを引用したいパターンを見ていきます。具体的には今から説明してきます。まず左側の表をご覧ください。
こちらピンクのところ、まったく同じ表が3つ描かれています。それぞれの場合で、LEFT関数、MID関数、RIGHT関数と異なる関数を使うので、3つ同じ物を用意しています。
具体的にやることは、給料、今はここ空欄になっているのですが、このIDを持つ人の給料がいくらになるのかをVLOOKUP関数で、こちらの表(右側の表)から引用していきたいんですね。
「HR、ヒューマンリソースに属する○○くんは、基本給は15万ですよ」ということを、こちら(左表)に反映させたい。
ただ一方で、IDが3つ余計な物が組み合わさったものでできているので、これをシンプルな検索値に変えた後に、右側の青いところから右側の数値を引っ張ってくるようなことをやっていきます。
早速、入っていきますね。今回の肝になるのが、今こちらの組み合わさっているなかのハイフンの位置です。
ハイフンの位置をどうやって特定するのかを以前学習してきました。FIND関数というものを1回やりましたね。FIND関数のほかにも、SERACH関数を用いてやってもいいのですが、せっかくFIND関数をやったので、FIND関数を使いながらハイフンの位置を特定していきましょう。
まず、全体像を説明する前に、1回やってみましょう。FIND関数で「ハイフンという検索文字列をこちらから探してきてね」と指定すると、3という値が返ってきましたね。
今、これは通貨表示になっていますが、元々設定でいじっているので、気にしないでください。
3という値です。FIND関数で3という値が返ってきたのですが、今私たちが引用したいのはHRという2文字だけなんですね。
ということは、これを抽出していきます。LEFT関数を用いて。
LEFT関数の指定の方法をご存じでしょうか。覚えていますか?
文字列、文字数というのですね。
まず、この文字列というところのセル番地を指定して、コンマ。そして文字列を指定するんですけど、先ほど3という値になっていましたね。3という値はダメです。
HRが2文字ですので、そこからマイナス1文字してあげて、括弧で閉じてあげるといい感じで返ってきますね。
HRという2文字が返ってきました。
ここまで大丈夫ですか? コピーするとこんな感じでいい感じに反映されています。
これで複雑だったIDが単純に2文字だけ抽出してくることができました。ここにVLOOKUP関数で指定してあげることになります。
今VLOOKUP関数の第1引数、検索値はLEFT関数以下のこの部分ですでに説明しきっています。
ですので、範囲指定をしていきましょう。範囲は右側の表のこちらですね。ここで絶対参照にまずすると。
列番号としては、給料を引用したいので、2列目ですよと。
検索方法は、完全一致のFALSE、0ですね。
これを指定して、括弧でエンターを押すと、15万円が返ってきました。大丈夫ですか?
今VLOOKUP関数の第1引数にLEFT関数でここですね。
中身見てみてると、HRという文字列を指定しているのがわかります。
HRをこちらの範囲、「F7からG9までの中から探してきてね」と指定した後に、給料は2列目、かつ完全一致の方法ですので検索方法としては0を指定して、エンターを押したら、15万円という値が返ってきたというわけです。
こんな感じでやっていきますね。
さくさくとMID関数もやっていきましょう。MID関数のもまったく同じ手順を踏んでいきます。「ハイフンをこちらのほうから見つけてきてね」と。
そうすると、3という値が返ってきましたね。これ全部3という値が返ってきます。
MID関数を用いて、真ん中にある1980というのを引っ張ってきますね。MID関数もまったく同じです。
文字列としては、こちらを指定して、開始位置は今FIND関数でハイフンまでの位置、ハイフンまでの文字数をカウントしてくれているので、更にプラス1することで、4文字目と指定することができるんですね。
ですので、ここでプラス1をしてあげましょう。プラス1ですね。
これで4という数字が書かれています。オッケーですね。
開始位置を4というふうに指定できたので、開始位置から何個目まで文字数カウントするんですかというので、今これは、1980、1990、2000と全部で4文字分あるので、ここに4という数字を指定して、エンターを押すと、1980といい感じで返ってきましたね。
これをコピペすると、全部、1990、2000としっかり反映されています。
早速、VLOOKUP関数で、ここもまた同じようにやっていきますね。VLOOKUP関数の第1引数は、すでに検索値、MID関数以下で表現できています。1980という検索値を指定できています。
ですので、コンマを打って第2引数を反映して、こちらの範囲を指定して絶対参照。2列目の0で、先ほどと同様です。
ここでエンターを押すと、なんででしょう? エラーが返ってきてしまいました。
これ、我々が指定してきたMID関数の1980という値と右側に描かれている1980という値は、実はエクセルの中では別物と解釈されてしまっています。
具体的にどういうことかと言うと、このMID関数で我々が指定してきた値って、実は、文字列としての1980という値だったんです。
ダブルコーテーションで囲まれているものはすべて、エクセル内部では文字列として扱われます。
一方で、このIDのほうは数値としての1980ですので、文字列と数値は別物と捉えられてしまいます。ですので、こちらの文字列としての1980を数値としての1980に変えたいと思います。
裏技としては、プラス0をしてあげてください。
これでエンターを押してあげると、いい感じで返ってきましたね。
1980のIDの右側は給料20万円ですね。これでしっかり返ってきます。これでコピペしてあげると、19万、18万と返ってきました。
ここはMID関数の注意点ですね。
RIGHT関数を最後にやっておしまいにしましょう。RIGHT関数の使い方をシンプルに覚えておきましょう。これ3文字指定なので、こんな感じでサクサクいけると思います。
AAA、BBB、CCCと返ってきました。
ここに対して、VLOOKUPというふうに指定して第1引数を検索してオッケーですので、範囲指定をして、2列目の0と指定すると30万、いい感じで返ってきましたね。
コピペで、25万、20万と返ってきました。いい感じですね。
どうもみなさんお疲れ様でした。
今日は、文字列操作関数のLEFT関数、MID関数、RIGHT関数、あるいはFIND関数を用いて、VLOOKUP関数の第1引数が複雑な時に、どう対応したらいいのかを見ていきました。
IDとか製品型番を複数条件で指定している会社が多いので、この方法を知っておくと、わりとVLOOKUP関数の発展版として対応できるようになってくると思います。ちょっと複雑だったので、もう1回くらい見直してください。どうもありがとうございました。
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略