エクセル 文字列を抽出する

はじめに

エクセルの文字列を抽出する方法を紹介します。

=LEFT("ABCDE",2) のようにして、先頭から AB を取得できます。

=MID("ABCDE",2,3) のようにして、途中から BCD を取得できます。

=RIGHT("ABCDE",2) のようにして、最後から DE を取得できます。

特定の文字で囲まれた範囲を抽出できます。

範囲内に文字があるかや、特定の文字が入っているセルを抽出したいときは「文字列やセルを検索する」をご覧ください。
  • 目次
    • 先頭から抽出する
    • 途中から抽出する
    • 最後から抽出する
    • 特定の文字の範囲を抽出する
    • 日付や時間から抽出する

先頭から抽出する

先頭から文字列を抽出するには「LEFT 関数」を使用します。

文字数を指定して抽出する

12345 の先頭から指定した文字数を抽出します。

=LEFT(B3,C3)
9

後ろから何文字目まで抽出する

引数「文字数」に 文字数 - 終了位置 + 1 のように入力して、後ろから何文字目までを抽出できます。「LEN 関数」を使用して文字数を取得できます。

=LEFT(B3,LEN(B3)-C3+1)
10

特定の文字の前まで抽出する

FIND 関数」を使用して、特定の文字の位置を取得できます。引数「文字数」に 検索位置 - 1 のように入力して、特定の文字の前まで抽出できます。

=LEFT(B3,FIND(C3,B3)-1)
11

途中から抽出する

途中から文字列を抽出するには「MID 関数」を使用します。

開始位置と文字数を指定して抽出する

12345 の開始位置から指定した文字数を抽出します。

=MID(B3,C3,D3)
10

最後の文字まで抽出する

12345 の開始位置から最後まで抽出します。「LEN 関数」を使用して文字数を取得できます。

=MID(B3,C3,LEN(B3))
11

後ろから抽出する

引数「開始位置」に 文字数 - 開始位置 + 1 のように入力して、開始位置を後ろから指定できます。「LEN 関数」を使用して文字数を取得できます。

=MID(B3,LEN(B3)-C3+1,1)
12

後ろから何文字目まで抽出する

引数「文字数」に 文字数 - 終了位置 - 開始位置 + 2 のように入力して、後ろから何文字目の終了位置を指定できます。「LEN 関数」を使用して文字数を取得できます。

=MID(B3,C3,LEN(B3)-D3-C3+2)
18

最後から抽出する

最後から文字列を抽出するには「RIGHT 関数」を使用します。

文字数を指定して抽出する

12345 の最後から指定した文字数を抽出します。

=RIGHT(B3,C3)
9

前から何文字目まで抽出する

引数「文字数」に 文字数 - 開始位置 + 1 のように入力して、先頭から何文字目を指定できます。「LEN 関数」を使用して文字数を取得できます。

=RIGHT(B3,LEN(B3)-C3+1)
10

特定の文字の後ろから抽出する

FIND 関数」を使用して、特定の文字の位置を取得できます。引数「文字数」に 文字数 - 検索位置 のように入力して、特定の文字の後ろから抽出できます。「LEN 関数」を使用して文字数を取得できます。

=RIGHT(B3,LEN(B3)-FIND(C3,B3))
11

特定の文字の範囲を抽出する

違う文字で囲まれている

12[45]78 から [] で囲まれた 45 を抽出できます。

FIND 関数」を使用して、特定の文字の位置を取得できます。引数「開始位置」に 開始検索位置 + 1 を入力し、引数「文字数」に 終了検索位置 - 開始検索位置 - 1 を入力して、特定の文字で囲まれた範囲を抽出できます。

=MID(B3,FIND("[",B3)+1,FIND("]",B3)-FIND("[",B3)-1)
13

同じ文字で囲まれている

12_45_78 のように同じ文字で囲まれているときは、引数「文字数」に 2 番目の検索位置 - 開始検索位置 - 1 を入力して抽出できます。

=MID(B3,FIND("_",B3)+1,FIND("_",B3,FIND("_",B3)+1)-FIND("_",B3)-1)

LET 関数」を使用できるバージョンなら次のように入力できます。

=LET(開始,FIND("_",B3),
終了,FIND("_",B3,開始+1),
MID(B3,開始+1,終了-開始-1))
14

日付や時間から抽出する

日付の実際の値は数値なのでその値を抽出します。時間についても同様です。

5

日付の表示形式が適用された状態から抽出したいときは「TEXT 関数」で日付を文字列に変換します。

=TEXT(B3,"yyyy/m/d")
=LEFT(TEXT(B3,"yyyy/m/d"),C3)
6

表示形式はセルの書式設定のユーザー定義から確認できます。

7
日付の表示形式について詳しくは「日付の表示形式の一覧」をご覧ください。

カンマ区切りやパーセント表示の数値なども同様に、表示形式が設定されているものから抽出するには「TEXT 関数」から文字列に変換して抽出します。