mid関数はとにかく便利な関数です。
下記の様に記述します。
=mid(抜き出す前の文字列、開始の文字数、抜き出したい文字数)
この様に書くことで、元の文字列から任意の文字列を書き出すことが出来ます。
では実際にこの句から、任意の文字を抜き出してみたいと思います。
有名な百人一首ですね。A1セルに入っているとします。
このたびは ぬさもとりあへず たむけやま もみぢのにしき かみのまにまに
この文から「たむけやま」だけを抜き出したい場合、
全角の空白を無視した場合は、この様に書けます。
=mid(A1,14,5)
ただ、実際は全角の空白が入っているので、
SUBSTITUTE関数でこの全角の空白を取り除けばよいですね。
A2セルにこの様に書きます。
=SUBSTITUTE(A1,” ”,””)
その後、A3セルに、下記の様に書けばいいですね。
=mid(A2,14,5)
入れ子にした場合は、ちょっと可読性が下がりますね。
=mid(SUBSTITUTE(A1,” ”,””),14,5)
他にも例題を解いてみましょう。
郵便番号をxxxxxxxの形式からxxx-xxxxにするには
どうすればよいでしょうか?
パッと思いつくのは、
1) mid関数
2) Right関数 & Left関数ですね。
では実際にエクセルで練習してみましょう。
下記エクセルをダウンロードして下さい。
https://www.dropbox.com/s/k7oadp5f6y3beyk/Mid%E9%96%A2%E6%95%B0%E7%B7%B4%E7%BF%92%E7%94%A8.xls?dl=0
D1セルに貼りつけた場合を解説します。
最初の3文字は簡単ですね。
=mid(D1,1,3)
=302
そこでこう思った人も多いはず。
あれ?このあとどうするの?と。
この後は、1セルに1関数を入れる場合は、
このようにします。
文字と文字は「&」を使ってつなげることができます。
少し慣れたらこのように書くことができるように
なります。
文字列の最後尾を含む場合は、
数を数えるのが面倒なので、
=mid(x,x,999)のように、明らかに大きな数字を
使っても大丈夫です。
同様に、LEFT関数とRIGHT関数を使っても書くことが出来ます。
ただ、Right関数とLeft関数は、右端と左端からしか文字列を取得できないので、
やっぱりMid関数のほうが使いやすいです。