更新日:、 作成日:

エクセル 文字列を置換や挿入する

はじめに

365202120192016:対応

エクセルの文字列を置換や挿入する方法を紹介します。

=SUBSTITUTE("ABC","A","_") のようにして、_BC に置換できます。

=REPLACE("ABCDE",2,3,"_") のようにして、2 文字目から 3 文字を A_E に置換できます。

=REPLACE("ABCDE",2,0,"_") のようにして、2 文字目に A_BCDE のように挿入できます。

特定の文字で囲まれた範囲や、セルの範囲を一括で置換できます。

改行を置換するには「改行を削除または置換する」をご覧ください。

文字列を置換する

文字を置換するには「SUBSTITUTE 関数」を使用します。

文字を置換する

セル「B3」の A_ に置換します。

=SUBSTITUTE(B3,"A","_")

大文字小文字を区別します。

10

改行を置換する

セル内の改行文字を入力するには「CHAR 関数」を使用します。CHAR(10) がセル内の改行文字です。引数「置換ワード」を空文字 "" にして削除できます。

=SUBSTITUTE(B2,CHAR(10),"")
=SUBSTITUTE(B2,CHAR(10),"_")

他にも「CHAR 関数」を使用して、タブ文字など特殊文字を入力できます。

13
詳しくは「改行を削除または置換する」をご覧ください。

複数の文字を置換する

半角スペースと全角スペースを _ に置換します。複数の文字をまとめて置換するには「SUBSTITUTE 関数」を入れ子にします。

=SUBSTITUTE(B3," ","_")
=SUBSTITUTE(B3," ","_")
=SUBSTITUTE(SUBSTITUTE(B9," ","_")," ","_")

文字列の前後の空白を削除するには「TRIM 関数」を使用します。

11

位置を指定して置換する

文字の位置を指定して置換するには「REPLACE 関数」を使用します。

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

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

=REPLACE(B3,C3,D3,"_")

文字数を 0 にすると開始位置に挿入できます。

6

最後の文字まで置換する

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

=REPLACE(B3,C3,LEN(B3),"_")
7

後ろから置換する

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

=REPLACE(B3,LEN(B3)-C3+1,1,"_")
8

後ろから何文字目まで置換する

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

=REPLACE(B3,C3,LEN(B3)-D3-C3+2,"_")
9

特定の文字より前を置換する

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

=REPLACE(B3,1,FIND(C3,B3)-1,"文字")
12

特定の文字より後ろを置換する

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

=REPLACE(B3,FIND(C3,B3)+1,LEN(B3),"文字")
13

特定の文字の範囲を置換する

違う文字で囲まれている

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

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

=REPLACE(B3,FIND("[",B3)+1,FIND("]",B3)-FIND("[",B3)-1,"範囲")
10

同じ文字で囲まれている

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

=REPLACE(B3,FIND("_",B3)+1,FIND("_",B3,FIND("_",B3)+1)-FIND("_",B3)-1,"範囲")

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

=LET(開始,FIND("_",B3),
終了,FIND("_",B3,開始+1),
REPLACE(B3,開始+1,終了-開始-1,"範囲"))
11

複数のセルを一括で置換する

セルの範囲などを一括で置換するにはエクセルの置換機能を使用します。

置換したい [セル] を範囲選択します。範囲選択しないとすべてのセルが置換対象になります。

12

Ctrl + H キーを入力するか、[ホーム] タブをクリックし、編集グループにある [検索と選択] から [置換] をクリックします。

13

[検索する文字列] と [置換後の文字列] を入力したら [すべて置換] をクリックします。ここでは A_ に置換します。

「検索する文字列」や「置換後の文字列」には前回入力した文字が残っています。Delete キーと BackSpace キーですべて削除してから操作するのをおすすめします。
14

範囲選択したセルをまとめて置換できます。

15

文字列を挿入する

文字を挿入するには「REPLACE 関数」を使用します。

12345 の開始位置に _ を挿入します。引数「文字数」に 0 を入力して挿入できます。

=REPLACE(B3,C3,0,"_")
14