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


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

それなら、MID関数を使うといいんよ。
- 文字列を真ん中から取り出すには、MID関数
- =MID(文字列,開始位置,文字数)
- 右から数えるには、LEN関数と組み合わせる
【Excel・エクセル】文字列を真ん中から抽出する、MID関数
端じゃなくて、真ん中にある文字列を取り出したい!
そんな時にはMID関数を使います。

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

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

MID関数には、兄弟とも呼べる関数があるんよ。
MID関数 | 文字列を真ん中から抽出 |
RIGHT関数 | 文字列を右から抽出 |
LEFT関数 | 文字列を左から抽出する |
ちなみに抽出した文字は、文字列でも数字でも、文字列として扱われます。
MID関数の使い方
=MID(文字列,開始位置,文字数)
文字列 | このセルの |
開始位置 | 左から数えてこの位置から |
文字数 | この文字数分取り出して |
次の表の住所から、間にある区を取り出してみましょう。
※実際に操作できます。
いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

=MID(A2,4,3)で求められるよ。説明するね。
ステップ1
まずは関数名、「=MID(」まで入力します。

ステップ2
次に、どのセルの文字を取り出したいかです。
今回はセルA2をクリックして、「,」を入力してください。

ステップ3
次に、左から数えて何文字目から取り出したいかです。
今回は東京都の次なので、4文字目からですね。
「4,」と入力します。


まだ続くから、「,」を忘れないでね。
ステップ4
最後に、何文字取り出したいかです。
今回は品川区、なので3文字ですね。
「3」と入力しましょう。

完成!
Enterを押せば、住所から区名が取り出せました!
もちろんオートフィルも使えます。

LEFT関数、RIGHT関数、MID関数を動画で見る
【Excel・エクセル】MID関数の開始位置を右から数えたい
MID関数の開始位置は左から数えますが、右から数えた方が早いときもありますよね。

そんな時は、文字数をカウントする「LEN関数」と組み合わせるといいですよ!
=LEN(文字列)
文字列 | この文字列(セル)の文字数をカウントして |
さっそくMID関数とLEN関数を組み合わせて、文字列を左から数えて取り出しましょう。

=MID(D2,LEN(D2)-6,3)で求められるよ。説明するね。
ステップ1
開始位置までは「=MID(D2,」ですね。

ステップ2
ここでLEN関数を使います。
「LEN(」と入力します。

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

ステップ4

ここがポイント!
LEN関数の続きに、「取り出したい文字数-1」を入力します。

今回は右から数えて7文字目から取り出したいので、7-1で「6,」ですね!
ステップ5
あとは何文字取り出したいか。
今回は3文字なので「3」と入力します。

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

【Excel・エクセル】日付から月を取り出すには
生年月日から月を取り出そうと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です。


〇年〇月〇日みたいに表示形式を変えたい場合は、下のページを見てね。
この場合、取り出した値は文字列として扱われます。
日付けから月を抽出2、MONTH関数を使う
日付から月を取り出したい場合、「MONTH関数」を使います。
セルE3の日付から年を取り出したい場合、「=MONTH(E3)」と入力すればOKです。


年なら「YEAR関数」、日にちなら「DAY関数」を使うと良さそうだ。
この場合、取り出した値は数値として扱われます。
これで、間にある文字列も簡単に取り出せますね!
それでは、お疲れさまでした!
- 文字列を真ん中から取り出すには、MID関数
- =MID(文字列,開始位置,文字数)
- 右から数えるには、LEN関数と組み合わせる
ディスカッション
コメント一覧
まだ、コメントがありません