【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

エクセル「特定の文字を消す」方法をご紹介します。「SUBSTITUTE関数」や「検索と置換」を使った基本的な方法から、REPLACE関数を応用して、「特定の文字より前」「カッコの中身だけ」といったパターンの文字を消す方法も解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

SUBSTITUTE関数を使う

特定の文字を消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

特定の文字(x)を空白("")に置換することで削除します。

例:=SUBSTITUTE(A2,"x","")

SUBSTITUTE関数の引数:(文字列, 検索文字列, 新しい文字列, [置換対象])

複数の特定の文字を消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

特定の文字(x)を削除した結果から、さらに別の文字(y)を削除します。

例:=SUBSTITUTE(SUBSTITUTE(A2,"x",""),"y","")

スポンサーリンク

REPLACE関数を使う

「最初から〇文字」を消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

開始位置(1文字目)から、指定した文字数(3文字)を空白("")に置換して削除します。

例:=REPLACE(A2, 1, 3, "")

REPLACE関数の引数:(文字列, 開始位置, 文字数, 置換文字列)

「最後から〇文字」を消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

全体の文字数(LEN(A2))を基準にして、後ろから指定した文字数を削除します。

例:=REPLACE(A2, LEN(A2)-2, 3, "")


【数式の解説】

  • 開始位置:全体の文字数から2を引いた位置(後ろから3文字目)を開始位置にします。
  • 文字数:そこから3文字分を削除します。

「~より前」をすべて消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

開始位置(1文字目)から、特定の文字(@)の位置までを空白("")に置換して削除します。

例:=REPLACE(A2, 1, SEARCH("@", A2), "")

SEARCH関数の引数:(検索文字列,対象,[開始位置])


【数式の解説】

  1. SEARCH関数:@」の位置(6文字目)を数字で取得します。
  2. REPLACE関数:開始位置(1文字目)から、6文字を空白("")に置換します。

「~より後ろ」をすべて消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

特定の文字(@)の位置を開始位置として、100文字を空白("")に置換して削除します。

例:=REPLACE(A2, SEARCH("@", A2), 100, "")

「~の前後2文字」を消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

特定の文字(@)と、その前後にある指定の文字数をまとめて削除します。

例:=REPLACE(A2, SEARCH("@", A2) - 2, 5, "")


【数式の解説】

  • 開始位置:@」の位置から2文字戻った場所を、開始位置とします。
  • 文字数:前2文字 +「@」自身 + 後2文字 = 合計5文字 を空白("")に置換します。

「カッコ( )の中身」をすべて消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

カッコそのものと、その中に入っている文字をまとめて削除します。

例:=REPLACE(A2, SEARCH("(", A2), SEARCH(")", A2) - SEARCH("(", A2) + 1, "")

💡 ポイント:カッコの全角と半角が一致していないとエラーになります。


【数式の解説】

  • 開始位置:SEARCH("(", A2)
    • 「前カッコ」の位置を探し、開始位置にします。
  • 文字数:SEARCH(")", A2) - SEARCH("(", A2) + 1
    • 「閉じカッコの位置」から「前カッコの位置」を引き算します。最後に+1することで、閉じカッコまで置換対象に含めます。

「2番目の特定の文字」以降を消す

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

「2番目に出てくる特定の文字」を基準にして、それ以降をすべて削除します。

例:=REPLACE(A2, SEARCH("-", A2, SEARCH("-", A2) + 1), 100, "")


【数式の解説】

  • 開始位置: SEARCH("-", A2, SEARCH("-", A2) + 1)
    • SEARCH関数の「開始位置」の中に、もう一つSEARCH関数を入れます。「1番目の-の位置+1」から探し始めることで、2番目の-の場所を探します。
  • 文字数:100
    • 2番目の文字から後ろをすべて消すために、適当な数字を指定します。
スポンサーリンク

REGEXREPLACE関数を使う(Microsoft 365/2021以降)

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

REGEXREPLACE関数を使うと、「数字以外を削除」といったより柔軟な対応が可能になります。

例:=REGEXREPLACE(A2,"\D","")

詳しい解説は「REGEXREPLACE関数の使い方」の記事をご覧ください。

REGEXREPLACE関数の引数:(テキスト, 正規表現, 置換後の文字列)

スポンサーリンク

検索と置換を使う

【Excel】特定の文字を消す!SUBSTITUTE関数でワイルドカードが使えない時の代用方法も

【手順】

  1. 対象のセル(または範囲)を選択します。
  2. Ctrl+Hを押して、「検索と置換」を開きます。
  3. 「検索する文字列」に削除したい文字を入力し、「置換後の文字列」は空欄のままにします。
  4. すべて置換」をクリックします

📖 参考:ワイルドカードを使用した置換は「ワイルドカードの使い方」の記事をご覧ください。

タイトルとURLをコピーしました