SUBSTITUTE関数の使い方|文字を置き換える・消す
※写真はイメージです
書き方はこれだけ
=SUBSTITUTE(文字, "探す文字", "置き換える文字", [何番目])SUBSTITUTEは、文字の中の「探す文字」を「置き換える文字」に替える関数です。置き換える文字を ""(何もなし)にすれば、その文字を消せます。なので「ハイフンを消す」「空白を消す」にもそのまま使えます。4つ目に数字を入れると、何番目に出てきたものだけを置き換えます。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
よく使う例
| やりたいこと | 式 | 結果の例 |
|---|---|---|
| ハイフンを消す | =SUBSTITUTE(A2,"-","") | 090-1111-2222 → 09011112222 |
| 全角の空白を消す | =SUBSTITUTE(A2," ","") | 佐藤 花子 → 佐藤花子 |
| 全角と半角の空白を両方消す | =SUBSTITUTE(SUBSTITUTE(A2," ","")," ","") | 2回重ねる |
| セル内の改行を空白に | =SUBSTITUTE(A2,CHAR(10)," ") | 2行の住所を1行に |
| 「円」を消して数値にする | =VALUE(SUBSTITUTE(A2,"円","")) | 1,200円 → 1200(計算できる) |
| 2番目の「-」だけを「/」に | =SUBSTITUTE(A2,"-","/",2) | 1-2-3 → 1-2/3 |
特定の文字がいくつあるか数える
置換(Ctrl+H)・REPLACE関数との違い
| 方法 | 特徴 |
|---|---|
| SUBSTITUTE関数 | 元のデータを残したまま、別の列に置き換えた結果を出す。元を直すと結果も変わる |
| 置換(Ctrl+H) | 元のセルを直接書き換える。1回きりの作業向き |
| REPLACE関数 | 「何文字目から何文字」と位置を決めて置き換える。=REPLACE(A2,4,0,"-") で4文字目に「-」を入れる |
うまくいかないとき
1置き換わらない
--全角と半角、長音「ー」とハイフン「-」とマイナス「-」など、見た目が似た別の文字です。
直し方実際のセルからその文字をコピーして、式の「探す文字」に貼り付けます。
2結果で計算できない
SUBSTITUTEの結果は文字列です。
直し方VALUE関数で囲むか、結果に *1 を掛けて数値にします。
3英字の大文字だけ置き換わらない
SUBSTITUTEは大文字と小文字を区別します。
直し方UPPERやLOWERでそろえてから置き換えます。
サンプルファイルで試す
黄色のセルにSUBSTITUTEの式を入れて、「答え」のシートと比べてください。
substitute.xlsx をダウンロード(無料・登録なし)
よくある質問
SUBSTITUTE関数の使い方は?
=SUBSTITUTE(文字,"探す文字","置き換える文字") と書きます。置き換える文字を "" にすると、その文字を消せます。
複数の文字をまとめて置き換えるには?
SUBSTITUTEを重ねて書きます。例:=SUBSTITUTE(SUBSTITUTE(A2," ","")," ","") で全角と半角の空白を両方消します。
特定の文字の数を数えるには?
=LEN(A2)-LEN(SUBSTITUTE(A2,"-","")) のように、消す前と後の文字数の差を出します。
SUBSTITUTEとREPLACEの違いは?
SUBSTITUTEは「この文字」を探して置き換え、REPLACEは位置(何文字目から何文字)で置き換えます。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報