SUBSTITUTE関数の使い方|文字を置き換える・削除する・2つ目だけ置き換える

SUBSTITUTE関数の使い方|文字を置き換える・削除する・2つ目だけ置き換える

エクセルで、文字列の中の特定の文字を別の文字に置き換えるには、SUBSTITUTE関数を使います。たとえば、電話番号「090-1234-5678」のハイフンを消すなら、=SUBSTITUTE(A3,"-","") で「09012345678」になります。

置き換え後を「””」(空の文字)にすれば削除、4つ目の引数を使えば何番目だけ置き換えるかを指定できます。この記事では、SUBSTITUTE関数の基本、削除・何番目だけの置き換え・複数の文字の置き換え・文字の数を数える方法までを、1つの表で説明します。下の練習ツールで、元の文字列を書き換えて結果の変わり方を試せます。

目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

SUBSTITUTE関数の書き方

SUBSTITUTE関数の構文
数式=SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])
ひとことで文字を置き換える
文字列
文字列です
検索文字列
検索する文字です
置換文字列
置き換える文字です
[置換対象]
何番目かです
引数入れるものポイント
文字列置き換える元の文字列(セル番地)結果は文字列になります。
検索文字列置き換えたい文字(「”」で囲む)大文字・小文字、全角・半角を区別します。
置換文字列置き換えた後の文字「””」にすると、その文字を削除できます。
置換対象何番目を置き換えるか(省略可)省略すると、見つかった文字をすべて置き換えます。

SUBSTITUTE関数の使い方|やりたいこと別の式

やりたいこと式(例)結果
ハイフンを消す=SUBSTITUTE(A3,”-“,””)09012345678
全角の空白を半角にする=SUBSTITUTE(A4,” ”,” “)山田 太郎
「.」を「/」にする=SUBSTITUTE(A5,”.”,”/”)2026/10/21
2つ目だけ置き換える=SUBSTITUTE(A6,”-“,”_”,2)AB-12_34
特定の言葉を消す=SUBSTITUTE(A7,”株式会社”,””)みどり商事
「,」の数を数える=LEN(A8)-LEN(SUBSTITUTE(A8,”,”,””))2
2種類の文字を消す=SUBSTITUTE(SUBSTITUTE(A10,”(“,””),”)”,””)株山田商店
エクセルのSUBSTITUTE関数で文字を置き換えた表
エクセルのSUBSTITUTE関数で文字を置き換えた表

特定の文字を消す(削除)

電話番号のハイフンを消します。置換文字列を「””」(空の文字)にするのがポイントです。

1
結果を出したいセル(C3)を選びます。
2
「=SUBSTITUTE(」と入力し、元の文字列のセル(A3)をクリックします。
3
「,”-“,””)」と入力して Enter キーを押します。
SUBSTITUTE関数の式
数式=SUBSTITUTE(A3,"-","")
ひとことで文字を置き換える
A3
文字列です
"-"
検索する文字です
""
置き換える文字です

ハイフンが2つともなくなり、結果は 09012345678 です。先頭の「0」も文字列なので消えません。会社名から「株式会社」を消す =SUBSTITUTE(A7,"株式会社","") も同じ考え方で、結果は みどり商事 です。ハイフンの削除は電話番号のハイフンを削除する方法でもくわしく説明しています。

文字を別の文字に置き換える

全角の空白を半角にそろえるときは、検索文字列に全角の空白、置換文字列に半角の空白を入れます。

SUBSTITUTE関数の構文
数式=SUBSTITUTE(A4," "," ")
ひとことで文字を置き換える
A4
文字列です
" "
検索する文字です
" "
置き換える文字です

結果は 山田 太郎(半角の空白)です。「2026.10.21」の「.」を「/」にする =SUBSTITUTE(A5,".","/") は 2026/10/21 になります。

ポイントポイント:SUBSTITUTE関数の結果は文字列です。「2026/10/21」を日付として使いたいときは、=SUBSTITUTE(A5,".","/")+0 のように数値に変えると、日付のシリアル値(46316)になりました。表示形式を日付にすると「2026/10/21」と表示されます。

何番目の文字だけを置き換える(置換対象)

「AB-12-34」の2つ目のハイフンだけを「_」にするには、4つ目の引数に「2」を入れます。

SUBSTITUTE関数の式
数式=SUBSTITUTE(A6,"-","_",2)
ひとことで文字を置き換える
A6
文字列です
"-"
検索する文字です
"_"
置き換える文字です
2
何番目かです

結果は AB-12_34 です。1つ目のハイフンはそのまま残ります。文字の数より大きい番号(5 など)を指定すると、何も置き換わらず元の文字列のままになりました。

複数の種類の文字を置き換える(入れ子)

「(」と「)」のように2種類の文字を消すときは、SUBSTITUTE関数を入れ子(中にもう1つ)にします。

SUBSTITUTE関数の式
数式=SUBSTITUTE(SUBSTITUTE(A10,"(",""),")","")
ひとことで文字を置き換える
SUBSTITUTE(A10,"(","")
文字列です
")"
検索する文字です
""
置き換える文字です

内側で「(」を消し、外側で「)」を消すので、結果は 株山田商店 です。3種類以上でも、同じように重ねていけます。

特定の文字の数を数える(LEN+SUBSTITUTE)

元の文字数から、その文字を消した後の文字数を引くと、その文字がいくつあるかが分かります。

LEN関数の式
数式=LEN(A8)-LEN(SUBSTITUTE(A8,",",""))
ひとことで全体の文字数から「,」を消した文字数を引く
LEN(A8)
全体の文字数です
LEN(SUBSTITUTE(A8,",",""))
「,」を消したあとの文字数です

「りんご,みかん,ぶどう」は 11 文字、「,」を消すと 9 文字なので、結果は 2 です。くわしくは特定の文字の個数を数える方法を参照してください。

大文字・小文字は区別される

SUBSTITUTE関数は大文字と小文字を区別します。「Excel」の小文字の「e」だけを大文字にする =SUBSTITUTE(A9,"e","E") は、先頭の「E」はそのままで、結果は ExcEl です。

SUBSTITUTE関数と REPLACE関数の違い

関数置き換える場所の決め方向いている場面
SUBSTITUTE「どの文字か」で決めるハイフン・空白など、決まった文字を消す・変える
REPLACE「何文字目から何文字」で決める位置が決まっている部分を置き換える

同じ電話番号でも、=REPLACE(A3,4,1,"") は4文字目の1文字だけを消すので「0901234-5678」になります(REPLACE関数の使い方)。

SUBSTITUTE関数がうまくいかないときの確認表

症状考えられる原因対処
置き換わらない全角・半角、大文字・小文字が違う検索文字列を元の文字列と同じ種類にする。
空白が消えない全角と半角の空白が混ざっている全角用・半角用の SUBSTITUTE を入れ子にする。TRIM関数も検討する。
数値として計算できない結果が文字列になっている「+0」を付けるか VALUE関数を使う(VALUE関数)。
一部だけ置き換えたいのに全部変わる置換対象を省略している4つ目の引数に番号を入れる。

SUBSTITUTE関数のよくある質問

改行を消したいときは?

改行は CHAR(10) で表します。=SUBSTITUTE(A1,CHAR(10),"") で消せます(改行を削除する方法)。

関数を使わずに置き換えたいときは?

Ctrl+H の「置換」を使うと、セルの中身そのものを書き換えられます(検索・置換の使い方)。

あわせて読みたい:文字列の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

2つの文字列が同じかを確かめるときは、エクセルで文字列を比較する方法もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次