エクセル SUBSTITUTE 関数:文字列を置換する

はじめに

エクセルの SUBSTITUTE 関数の使い方を紹介します。

SUBSTITUTE 関数は検索ワードの文字列を置換します。

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

=SUBSTITUTE(SUBSTITUTE("A A A"," ","")," ","") のようにして、空白 (スペース) を置換や削除できます。

=IF(AND(B3=0,ISBLANK(B3)=FALSE),"置換",B3) のようにして、空のセルを置換できます。

改行を置換や削除できます。

位置と文字数を指定して置換するには「REPLACE 関数」を使用します。
検索列を置換する方法は「文字列を置換や挿入する」をご覧ください。
  • 目次
    • SUBSTITUTE 関数の引数
    • 使い方
    • 高度な使い方
    • 解説

SUBSTITUTE 関数の引数

SUBSTITUTE(置換対象, 検索ワード, 置換ワード)
置換対象の中から見つかったすべての検索ワード置換ワードに置換します。

SUBSTITUTE(置換対象, 検索ワード, 置換ワード, 何番目)
何番目に見つかった検索ワードだけを置換します。

引数「置換対象」置換対象の文字列を指定します。スピル化
引数「検索ワード」検索する文字列を指定します。スピル化
引数「置換ワード」置換する文字列を指定します。スピル化
引数「何番目」省略できます。省略すると全ての引数「検索ワード」を置換します。
何番目に見つかった引数「検索ワード」を置換するか指定します。
スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

使い方

SUBSTITUTE 関数の使い方を紹介します。

文字を置換する

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

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

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

10

空白やスペースを置換する

半角スペースや全角スペースを _ に置換します。半角と全角の両方を置換するには SUBSTITUTE 関数を入れ子にします。

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

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

11

何番目に見つかった文字を置換する

AAAAA から何番目に見つかった A_ に置換します。

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

高度な使い方

SUBSTITUTE 関数と他の関数を組み合わせた使い方などを紹介します。

改行を置換する

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

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

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

13

0 を置換する

IF 関数」を使用して、セルの値が 0 のときに置換できます。「ISBLANK 関数」を使用して空のセルか判定できます。

=IF(AND(B3=0,ISBLANK(B3)=FALSE),"置換",B3)

セルの値が 0 で空のセルでないときに置換します。

14

空のセルが 0 に置換されています。これを表示しないようにするには、セルの書式設定の表示形式を 0;-0;;@ に設定します。

詳しくは「0 を表示しない」をご覧ください。

空のセルを置換する

IF 関数」を使用して、空のセルを置換できます。「ISBLANK 関数」を使用して空のセルか判定できます。

=IF(ISBLANK(B3),"置換",B3)
15
文字列かどうかや空白など、特定の値を条件にする方法は「COUNTIF 関数」にまとめています。

解説

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

引数「検索ワード」は大文字小文字を区別します。

引数「検索ワード」が見つからないときは、引数「置換対象」をそのまま返します。

引数「置換ワード」が空文字 "" なら引数「検索ワード」を削除します。

引数「何番目」に指定した数の引数「検索ワード」が見つからないときは、引数「置換対象」をそのまま返します。

引数「何番目」に 0 以下や数値以外のときはエラー #VALUE! になります。

複数の引数「検索ワード」を置換するには SUBSTITUTE 関数を入れ子にします。上記の「空白やスペースを置換する」が使用例です。

セルの書式設定から表示形式を指定しているときは、それを適用する前の値を置換します。日付や時間など表示形式を適用した状態から置換するには「TEXT 関数」を使用します。