3つの関数を組み合わせて文字列を指定

おさ氏:あの頃に戻りたいか? 微妙だな。まぁ戻りたいか、戻りたいね。

はい、みなさんこんにちは。「おさとエクセル」のおさです。今日はですね、これまで学習してきた文字列操作関数のコンビネーションを勉強していきましょう。

具体的には「RIGHT関数」「LEN関数」「FIND関数」、この3つを組み合わせていきます。まだ学習してない方は、それぞれの動画をチェックしてからこちらの動画をチェックしてくださいね。

では、例えばですね、「Osanai Kohei」という文字列があった時に、「Kohei」というデータだけを抽出していきたい。そんな時に、みなさんはRIGHT関数を使うということをすぐ思いつくと思います。この時に、まぁひとつだったらいいんですけども、簡単に「Kohei」と抽出できますよね。

ただ一方で、複数そこに名簿がある場合、「Kohei」って5文字で済むんですが、例えば「Ichiro」とかね、他の名前があった時には、文字数がどんどん変わってしまうんですね。この時にフレキシブルに、関数を設定してバーッとコピペするだけで、すべてちょうど名前だけが抽出できたらうれしいですよね。

こういう仕組みづくりをしていくために、RIGHT関数、LEN関数、FIND関数の3つを組み合わせる必要があります。具体的には、RIGHT関数を大きな枠組みとして、RIGHT関数の第二引数をちょっと工夫する必要があるんですね。

どんなふうに指定するかというと、「LEN関数-FIND関数」ということをやっていきます。どういうことを意味するかというと、LEN関数でセルに含まれる全体の文字数を数えたあとに、FIND関数で名前の前の、スペースですね、そこまでの文字数を差し引いてくれ、と。

全体からFIND関数の分だけのところの文字数を差し引くことで、実際に抽出していきたい名前の文字数を指定することができるというわけです。こんな感じでね、ちょっと口頭で説明するよりも、ワークシートを見ながらやっていったほうが早いのかなと思うので、さっそく移っていきましょう。どうぞよろしくお願いします。

はい、こちらのワークシートをご覧ください。「Kohei Osanai」「Ichiro Suzuki」「Masahiro Tanaka」「Goro Shigeno」のうち、ファーストネームだけを抽出してきてねというかたちで、このような関数を指定しました。

で、今度はファミリーネームで抽出しようと思ってるんですけども、Osanai、Tanaka、Suzukiとかですね。全員数字が6文字だったので、新しいプレイヤーを1人追加してます。Goro Shigenoですね。まぁ知ってる人は知ってる選手でしょう(笑)。有名なマンガのキャラクターです。

7文字ですね、はい。で、今度はRIGHT関数を用いてやっていくんですが、普通にOsanaiというものを6文字指定してやった場合、こんな感じですね。

これをコピペすると、Osanai、Suzuki、Tanakaと、上の3つはいいんですが、最後「higeno」という文字が出ちゃってますね。「Shigeno」です、本当は。ヒゲノじゃないです。

で、これをポンポンポーンとコピペした時にもいい感じに返ってくるように変えていきます。具体的には、RIGHT関数の第二引数ですね。こちらの文字数を関数で返させます。やることは、LEN関数で、まずC3の「Kohei Osanai」に含まれる文字数ですね。

(家電のメロディーが鳴り出す)

おおう、お米が炊けました。少々お待ちください(笑)。すいません、はい。

LEN関数でC3に含まれる文字数ですね、これをカウントさせます。で、ここでですね、今どういう数値が返ってきてるのかを覗いてみましょう。

範囲選択をして、Fn+F9で、今「12」文字という値が返ってきてましたね。でCtrl+Z、Command+Zで元に戻します。

12文字から今度は引き算をして、「Osanai」の6だけを返させます。何を引くかというと、前半の半角スペースまでの文字数ですね。この時に便利な関数がFIND関数です。

FIND関数、覚えてますか? どんな関数かっていうと、自分が指定したい検索文字列が指定したセル内の何文字目に含まれているのかを抽出してくれる。ここだと「半角スペースが何文字目にあるの?」というふうに指定して、「6」という数値が返ってくるわけですね。

ですので、指定の仕方としては、「”」でスペース、「”」。で、こちらのセルを選択してあげて、カッコで閉じるとOKというわけですね。FIND関数で返ってきてる値を見てみましょう。選択して、Fn+F9で、「6」と返ってきましたね。

全体で、先ほど見たとおりわかると思うんですけども、こんな感じ。6と。12-6で6という値が返ってきていますね。これでEnterを押してあげると、「Osanai」と返ってきました。これ、じゃあ今度コピペしてうまくいくでしょうか。

関数を実行してみると…

はい、いきましたね。「Shigeno」としっかり返ってきてます。こちらのセルにもまったく同じ関数ですね、相対参照ですので、このC6、Cの列は一個ずつ下にずれていっていますね。こういった感じになります。RIGHT関数の第二引数にLEN関数-FIND関数、こうすることでフレキシブルに右側のデータですね、抽出してくることが可能になります。どうもありがとうございました。

はい、どうもみなさんおつかれさまでした。今日はですね、RIGHT関数の第二引数にLEN関数-FIND関数というかたちで、うまいことですね、後半の文字数をカウントさせる方法をご紹介しました。

これですね、必ずしも名簿、名前に限ったことではなくて、住所の下何桁とか、電話番号とか、あるいは製品型番とかをね、下何桁を抽出してくるというような時にも利用できると思います。

文字列操作関数は、今回とか前回みたいにコンビネーションを組み合わせることでパワーを発揮するものなんですけれども、例えばミドルネームとかが間に挟まれてる場合っていうものは、MID関数とか他の関数を組み合わせることで、うまいこと抽出できると思います。ぜひぜひみなさん、頭使ってやってみてください。

他に「こんな時どうなんですか?」というふうに思うことがあれば、ぜひぜひコメント欄でご質問ください。僕も考えてみます。お答えできればお答えします。はい、今日は以上ですね。

まぁ昔ね、小さい頃ずっと野球のマンガを見てたものなんですけども、茂野吾郎ね。『MAJOR』よかったよね。あのマンガ以外にも、『山下たろーくん』とか、『やまだたいちの奇蹟』とか。僕のまわりみんな野球部だったんで、みんなでシェアしながら読んでましたけど……懐かしい! あの頃に戻りたいか? 微妙だな。まぁ戻りたいか、戻りたいね。ははは(笑)。

まぁぜひぜひ、昔の友達も僕の動画見てるみたいなんで、また仲良くしていきましょう。今日はどうもありがとうございました。また次回お会いしましょう。ありがとうございました。