2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
【#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.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦