Excelには文字列の左から文字を抜き出すleft関数、右から文字を抜き出すright関数がありますが、「真ん中を抜き出したい」という場合もあります。そんな時にはmid関数の出番です。
Left関数でも似たようなことをやっているので、よかったら併せてどうぞ。
成果物

「A」と「B」の間の文字列だけを抽出する場合、=Mid(検索対象セル,Find(“A”,検索対象セル)+1,Find(“B”,検索対象セル) – Find(“A”,検索対象セル) -1)で可能です。
以下、なぜそうなるかという説明です。
以下、なぜそうなるかという説明です。
Mid関数の使い方
文字列の途中から抽出
Mid(対象,開始位置、抜き出す文字数)
Mid(対象,開始位置、抜き出す文字数)

A列から天気だけを抜き出してみたいと思います。

=Mid(A1,6,2)
(A1の6文字目から数えて2文字を抽出)と入力します。
(A1の6文字目から数えて2文字を抽出)と入力します。

天気を抽出することができましたが、「雨」に空白が入っています。
特定文字の次から抜き出す文字数を数えたい

①空白文字「 」の位置をまず取得し、②midの開始位置に空白文字の位置+1を指定することで、特定の文字から右の文字を抜き出すことができます。

特定の文字を探す場合、Find関数を使用します。対象のセルと検索する文字列を指定することで、文字列の位置を返す関数です。
Find(“検索文字列”,対象)

今回で言えば検索文字列は「 」となります。なお、半角スペースと全角スペースは別文字として扱われるので、抽出対象に半角/全角入り乱れてる場合は半角全角を統一します。

検索対象はA1セルです。
=Find(“ ”,A1)と入力し、Enterを押します。
=Find(“ ”,A1)と入力し、Enterを押します。

下までオートフィルを伸ばすと、それぞれ空白の位置を取得していることがわかります。

関数は普通の数字と同じように他の関数に組み込むことができます。今作ったFind関数を、=以外選択してコピーし、

Mid関数の「開始位置」に埋め込みます。

この状態だと空白の位置を開始位置としてしまうので、

Find関数に1を足す=開始位置をひとつ右にずらします。
=Mid(A1,Find(“ ”,A1)+1,2)という式になります。
=Mid(A1,Find(“ ”,A1)+1,2)という式になります。

これで「空白より右の文字列を指定文字数抽出する」式の完成です。
特定文字と特定文字の間の文字だけを抜き出したい

上のやりかたですと、A2が雨/となります。

「 」と「/」の間の文字だけを抜き出すために、まずは「/」の位置をFind関数で求めてみます。

「/」の位置から、さらにFind関数を使って求めた「 」の位置を引き算してみると、抜き出したい文字数に1を足した数値になっていることがわかります。

これを-1し、=Find(“/”,A1) – Find(“ ”,A1) -1という式を作ります。これで「 」のひとつ右から抜き出したい文字数が求められます。

=以外をコピって、

Mid関数の「文字数」に貼り付けます。
式としては=Mid(A1,Find(“ ”,A1)+1,Find(“/”,A1) – Find(“ ”,A1) -1)となります。
式としては=Mid(A1,Find(“ ”,A1)+1,Find(“/”,A1) – Find(“ ”,A1) -1)となります。

完成するとこうなります。

ゴチャゴチャし過ぎ、という向きであれば、作業列を残したまま使用しても動作上問題ないです。

Excel(エクセル):抽出、抜き出し
Excelであるデータ内から特定のデータを「抜き出す」「抽出する」操作、のまとめです。
値の抽出
Value関数を使うと、日付や金額などから書式を抜き、標準形式の値だけを抽出することができます。
文字列の抽出
...

関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント