「何文字目にあるのか」を返す「FIND関数」

おさ氏:I found my number on it! はいどうも、みなさんこんにちは。「おさとエクセル」のおさです。今日は文字列操作関数の「FIND関数」というものを勉強していきます。

こちらの関数は例えば、セルの中にものすごく長い文字列があって、このうちのなにか1つ、具体的なシンボルマークを別のシンボルマークに変えたいと思ったときに、そのシンボルマークがどこにあるのかっていうのがわからないと、エクセル上では変えようがないんですよね。

この、どこにあるのかっていうのを見つけるために、FIND関数っていうものが役に立ちます。

具体的には、「おさとエクセル」という文字列があったときに、カタカナの「エ」って何文字目に含まれてるの? っていうのを、FIND関数が返してくれるんですね。

今回の場合だと4文字目ですね。4文字目に「エ」という言葉が入ってるよ、というふうにFIND関数は教えてくれます。

具体的に、使い方のほうはワークシートを見てやっていきましょう。どうぞよろしくお願いします。

ではこちらのワークシートをご覧ください。今B2のセルにこんなこと書かれてます。「ついに卒業発表! はたしておさは無事卒業できたのか!?」と。

3月9日月曜日の昼12時に、Webサイト上で卒業発表がありました。そのときの様子は動画に撮っているので、この動画の最後におまけとして付け加えておこうかなと思います。

では今回FIND関数を用いて、あるシンボルマークが何文字目に含まれているのかっていうものを、探していきましょう。

具体的には今こちらにビックリマーク、エクスクラメーション・マークが含まれていますが、これが何文字目にあるのかっていうものをFIND関数で探してもらいます。

マニュアルで探してもこれ、いけますね。1、2、3、4、5、6、7、8文字目ですね。8文字目に含まれています。

これ、8という数字を用いてFIND関数で返してもらいましょう。今回、FIND関数で指定する筆記数は3つございます。

「検索文字列」「対象」「開始位置」と。この3つ目に関しては、またのちほど見ていきますので、最初2つ、こちらを打ちこんでいきましょう。

まず検索文字列としては、今回エクスクラメーション・マークですので、しっかりダブルクォーテーションでくくって、ダブルクォーテーションで閉じると。

これで指定できましたね。

ちなみになんですが、FIND関数の場合、検索選出で大文字と小文字をしっかり区別する仕組みになってます。

つまり、大文字のAを検索したいときに、小文字でここにaと打ってしまうと、それはみなさんが求めたい、大文字のAの位置を教えてくれません。しっかり、大文字小文字区別して指定してあげるようにしてくださいね。

では2つ目の筆記数としては、「対象」と書かれてますね。「対象」というのは、具体的にはこちらのキーワードを調べたいところの、文字列が含まれるセル番地ですね。これを指定しましょう。

FIND関数を実行してみると…

これでカッコ閉じてエンター押すと、8という数値が返ってきました。

絶対参照に変えてみましょう。これちょっと貼り付けて見やすいようにしていきます。こんな感じですね。

こんな感じで8という数字を返してもらいました。

ただ一方でこのビックリマーク、ここだけではなくて、後ろにもあるんですね。最後の文末のところにももう1つあります。

「こっちのほうのビックリマークを変えたいんだよ」と思う方もいらっしゃるかもしれません。このビックリマーク、何文字目にあるのかというのをFIND関数は返せるのかという話なんですよね。

そこで活躍するのが3つ目の筆記数です。3つ目の筆記数がなんだったかっていうと、「開始位置」と呼ばれるものですね。

これどういうことかっていうと、FIND関数で見つけてもらいたいビックリマークが、例えば今1文字目からカウントしていくと、最初にあるのが8文字目になってしまうんですよね。

だからこそさっき8という数値が返ってきました。ただ一方で開始位置を9文字目からにすると、その次に見つかるビックリマークて、結局文末のこれになるんですよね。

そうすることで、8という数字ではなくて、この文末のビックリマークがある文字数、何番目にあるのかっていうものを返してくれます。

具体的には今ここ8だったんで、9文字目からカウントし始めると、こちらの値を返してくれるようになりますね。

ここにマニュアル的に今、9という数値を打ってみます。

そうすると、25という値、返ってきましたね。いいですね。

ただ、これ9ってマニュアル的に打つと汎用性がないですよね。なので汎用性がある関数に変えていきます。

具体的にどんなことをするかっていうと、関数で3つ目の筆記数を表現していきたいと思います。

具体的には、FIND関数の中にFIND関数を組み込みます。ちょっと見ててくださいね。

これまったくおんなじです、こちらですね。これ指定して、最後ここ、プラス1してあげますね。3つ目の筆記数としてFIND関数を指定できました。

かつ、最後のカッコで全体としてのFIND関数もオッケーですね。これでエンター押すと、25という数値、返ってきましたね。

これの仕組みわかりましたでしょうか? もしわからなければ、コメント欄でいつでもコメントください。

はいどうも、みなさんお疲れさまでした。今日は文字列操作関数のFIND関数、勉強してきました。こちらの関数は文字列の中から、あるシンボルマークが何文字目にあるのかっていうものを数えてきてくれる関数になります。

これはほかの関数、REPLACE(リプレイス)関数とかと組み合わせることで大きな力を発揮してくるので、今回はとりあえずシンプルに使い方、覚えておくようにしましょう。

というわけで、卒業発表が行われました。そのときの様子はこちらをご覧ください。

では、編集の途中でしたが、今から卒業発表の掲示板を見たいと思います。どうでもいい人は今すぐ消してください(笑)。

……お? (画面の発表を)押します。

I found my number on it!(笑)。

はい、卒業できますよ! お疲れさまでした! ありがとうございました。

家族のみんなありがとうございました。両親にありがとうございました。お友達のみなさん、ありがとうございました。

長内孝平、無事卒業です。ありがとうございました。じゃあね。あぁ、よかった(笑)。