はじめに
文字列の右から数文字、左から数文字ではなく、途中数文字を抽出したい。
そんな時に役立つExcel関数がMID関数です。
RIGHT関数やLEFT関数を色々やればできることもありますけど、やはりMID関数が便利です。
ポイントは始点と文字数を引数で指定することです。
この記事ではExcel関数MID関数関数を擬人化キャラで紹介します!
エクセル関数擬人化 MIDちゃん
登場人物紹介
キュウです。
経理初心者、エクセルは学校で少し触ったことがある程度です。
早く知識を身に着けて役に立てるようになりたいです!
シノです。
簿記の資格を持っていて、経理歴数年程度です。
経理業務をやっている内に、エクセルに夢中になってしまいました!
シノさん、文字列を真ん中らへんから抜き出す関数を教えて下さい!
ずいぶんと唐突ですね、どうしたんですか?
文字列の左から抜き出すのはLEFTちゃん、右からはRIGHTちゃん…というのは覚えたのですが、真ん中から抜き出したいときの関数ちゃんは教えてもらっていないです! いるんですよね!?
いるよ。
…いや、いますよ。
よかった…
こんな感じの文字列から途中8文字を抜き出したいのです。
なるほど、これは大変そうですね。
CENTERちゃん…
どんな子なんでしょう。
ざんねん、文字列の途中から数文字を抜き出す関数はMID関数といいます!
MIDといいます。
よろしくお願いします。
文字列を途中から抜き出すのが得意です。
二刀流!!
MIDちゃんは引数が3つの関数ちゃんです。
詳しく見てみましょう!
まず第1引数は抜き出す対象の文字列ですね。
「B4」みたいにセル参照して、セルの中にある文字列から文字を抜き出すのがほとんどです。
ここはLEFTちゃんやRIGHTちゃんと同じですね!
第2引数は抜き出したい文字が、対象文字列の左から数えて何文字目からスタートするかを数字で指定してください。
ここが文字列を抜き出す始点になります。
これはLEFTちゃんやRIGHTちゃんにはないですね。
彼女たちは開始位置が左端だったり右端だったりすることが前提になっていますから。
そうそう、端から切って抜き出すから1発で終わるのよね!
LEFTちゃん…!?
何度も呼ばれるから出番だと思ったのよ。
キュウさんは文字列の中の「20230515」が欲しいのだから、左端の「2」がある5文字目の「5」をMIDのちゃんに渡すことになります。
最後に第3引数で、第2引数で指定した始点から何文字が欲しいのかを指定してください。
「20230515」なら8文字なので「8」ですね。
ここの引数の雰囲気はLEFTちゃんと似てますね!
これで欲しい文字列の始点と終点が決まったので、抜き出して返します。
はい、どうぞ。
<例で使用している数式>
=MID(B4,5,8)
MIDちゃん、ありがとうございます!
この調子でどんどんお願いします!!
同じ形をした文字列なら同じ数式で同じ場所を抜き出すことができますが、1文字多かったり少なかったり等、異なる形の文字列だと上手く抜き出せません。
本当に全てのデータが同じルールの文字列なのか注意しましょう!
みんなで力を合わせて抽出した文字を日付(シリアル値)に!
MIDちゃんに抜き出してもらった文字列が表す日付を日数などの計算に使いたいのですが…。
それでは一度シリアル値にする必要がありますね。
MIDちゃんに抜き出してもらった8文字に対して、更に年、月、日にあたる部分を抽出しましょう。
そこまで用意して頂ければ私がお役に立てると思います…。
DATEちゃんは引数に年、月、日を渡すと、その日付のシリアル値を返してくれる関数ちゃんでしたよね!
左から4文字、年は私が抽出するわよ!!
右から2文字、日の部分は私が…。
5文字目から2文字、月は私に任せてください!
<例で使用している数式>
=LEFT(C4,4)
=MID(C4,5,2)
=RIGHT(C4,2)
=DATE(D4,E4,F4)
おおっ、圧巻ですね!
こっ、こんな感じでいかがでしょうか。
ちゃんとシリアル値になっていますね!
これで日数などの計算を楽に行うことができますよ!
みんな…本当にありがとうっ…!!
関数ちゃんは本当に頼もしいですね!
まとめ
筆者はMIDちゃんの存在を知らずにRIGHT関数で抜き出した文字列からLEFT関数で左から数文字を抜き出すなんて力技ネストをしたことがありました。
抜き出したい文字よりも左側で文字数が増減する場合など、使い勝手が良いこともあるのですが。
関数で文字列操作をする場面では本当に困り果てていることが多いので、頼もしいイメージが付きやすいです。
コメント