更新日:、 作成日:

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

はじめに

365202120192016:対応

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

=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

数字や日付から抽出する

数字や日付から抽出するときは、セルの書式設定の表示形式が適用される前の値から抽出します。

カンマ区切りの数字 1,000 の実際の値は 1000 です。

日付 2000/1/1 の実際の値は 36526 です。

カンマ区切りや日付から抽出するには「TEXT 関数」を使用して、文字列に変換してから抽出します。

=LEFT(TEXT(B3,"#,##0"),5)
=LEFT(TEXT(B5,"yyyy/m/d"),8)
12

セルに設定されている表示形式を取得するには、セルの書式設定のユーザー定義をコピーします。日本語が含まれているときは "" で囲まれているのでそれを削除します。

user-format

表示形式について詳しくは次をご覧ください。