【Excel・エクセル】MID関数の使い方!指定した位置から文字を抽出する

抽出

MID関数の使い方
もりの

このセルの真ん中の文字列を、取り出せないかな?

やまの

それなら、MID関数を使うといいんよ。

今回のポイント
  • 文字列を真ん中から取り出すには、MID関数
  • =MID(文字列,開始位置,文字数)
  • 右から数えるには、LEN関数と組み合わせる

スポンサーリンク

【Excel・エクセル】文字列を真ん中から抽出する、MID関数

端じゃなくて、真ん中にある文字列を取り出したい!

そんな時にはMID関数を使います。

MID関数の例
MID関数の例

読み方は「ミッド関数」です。

もりの

MIDDLE(ミドル)のミッドだね!

やまの

MID関数には、兄弟とも呼べる関数があるんよ。

MID関数文字列を真ん中から抽出
RIGHT関数文字列を右から抽出
LEFT関数文字列を左から抽出する

ちなみに抽出した文字は、文字列でも数字でも、文字列として扱われます

MID関数の使い方

MID関数の書き方

=MID(文字列,開始位置,文字数)

文字列このセルの
開始位置左から数えてこの位置から
文字数この文字数分取り出して

次の表の住所から、間にある区を取り出してみましょう。

※実際に操作できます。

いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

やまの

=MID(A2,4,3)で求められるよ。説明するね。

ステップ1

まずは関数名、「=MID(」まで入力します。

「=MID(」まで入力した画像
まずは関数名

ステップ2

次に、どのセルの文字を取り出したいかです。

今回はセルA2をクリックして、「,」を入力してください。

MID関数の文字列を指定した画像
このセルから取り出したい!

ステップ3

次に、左から数えて何文字目から取り出したいかです。

今回は東京都の次なので、4文字目からですね。

「4,」と入力します。

MID関数の開始位置を指定した画像
左から数えて何文字か
やまの

まだ続くから、「,」を忘れないでね。

ステップ4

最後に、何文字取り出したいかです。

今回は品川区、なので3文字ですね。

「3」と入力しましょう。

MID関数の文字数を指定した画像
何文字取り出したいか

完成!

Enterを押せば、住所から区名が取り出せました!

もちろんオートフィルも使えます。

MID関数で区名を抽出した画像
区を取り出せた

LEFT関数、RIGHT関数、MID関数を動画で見る

【Excel・エクセル】MID関数の開始位置を右から数えたい

MID関数の開始位置は左から数えますが、右から数えた方が早いときもありますよね。

取り出したい文字列が右寄りの画像
左から数えると大変

そんな時は、文字数をカウントするLEN関数と組み合わせるといいですよ!

LEN関数の書き方

=LEN(文字列)

文字列この文字列(セル)の文字数をカウントして

さっそくMID関数とLEN関数を組み合わせて、文字列を左から数えて取り出しましょう。

やまの

=MID(D2,LEN(D2)-6,3)で求められるよ。説明するね。

ステップ1

開始位置までは「=MID(D2,」ですね。

MID関数の開始位置を指定する画像
開始位置まで進める

ステップ2

ここでLEN関数を使います。

「LEN(」と入力します。

MID関数の中にLEN関数を書いた画像
LEN関数さん、出番よ!

ステップ3

文字列を取り出したいセルD2をクリックして、カッコを閉じます。

抽出したい文字列を指定した画像
抽出したい文字列を指定

ステップ4

やまの

ここがポイント!

LEN関数の続きに、「取り出したい文字数-1」を入力します。

MID関数の文字列を指定した画像
右から数えた文字数-1

今回は右から数えて7文字目から取り出したいので、7-1で「6,」ですね!

ステップ5

あとは何文字取り出したいか。

今回は3文字なので「3」と入力します。

MID関数の文字数を指定した画像
何文字取り出したいか

完成!

これで式は完成です。

カッコを閉じてEnterを押すと、右から指定した文字列を抽出できました!

MID関数で右から数えたバージョン
右から、右から~♪

【Excel・エクセル】日付から月を取り出すには

生年月日から月を取り出そうとMID関数を使いましたが、何も表示されませんでした。

日付けにMID関数を使った画像
空白になった
やまの

実は、6文字目は存在しないんよ。

もりの

コレはあれだ、怖い話だ。

エクセルで日付は、1900年1月1日を1として数えるシリアル値で表されます。

2022/7/22のシリアル値は44764の5桁。
なので、6文字目を指定すると空白になったんですね。

コレを回避するには、「TEXT関数を使う方法」と「MONTH関数を使う方法」があります。

※練習問題ファイルをお使いの方は、「MID関数右から」シートを開いてください。

日付けから月を抽出1、TEXT関数と組み合わせる

日付けをTEXT関数を使って文字列に変換すれば、MID関数でも取り出せます。

セルE2の日付から月を取り出したい場合、「=MID(TEXT(E2,"yyyy/m/d"),6,1)」と入力すればOKです。

TEXT関数とMID関数を組み合わせた画像
TEXT関数とMID関数を組み合わせる
やまの

〇年〇月〇日みたいに表示形式を変えたい場合は、下のページを見てね。

この場合、取り出した値は文字列として扱われます。

日付けから月を抽出2、MONTH関数を使う

日付から月を取り出したい場合、「MONTH関数」を使います。

セルE3の日付から年を取り出したい場合、「=MONTH(E3)」と入力すればOKです。

MONTH関数の場合
MONTH関数の場合
もりの

年なら「YEAR関数」、日にちなら「DAY関数」を使うと良さそうだ。

この場合、取り出した値は数値として扱われます。

これで、間にある文字列も簡単に取り出せますね!
それでは、お疲れさまでした!

今回のおさらい
  • 文字列を真ん中から取り出すには、MID関数
  • =MID(文字列,開始位置,文字数)
  • 右から数えるには、LEN関数と組み合わせる

数式・関数,Excel抽出

Posted by morino