エクセルで特定の文字を消すには?初心者向けに置換・関数・マクロを解説

エクセルで特定の文字を消すには?初心者向けに置換・関数・マクロを解説

本記事には広告(PR)が含まれます。
くわしくは プライバシーポリシー をご確認ください。

大量のデータ修正が必要なとき、特定の文字だけを削除したい場面は意外と多いものです。
たとえば「株式会社〇〇」という社名から「株式会社」だけを消したい場合や、郵便番号から「-(ハイフン)」を取り除きたいときなど、一つひとつ手作業で直していると時間がかかってしまいます。

エクセルには、「置換」や「SUBSTITUTE関数」など、特定の文字を効率よく削除できる機能が用意されています。この記事では、初心者の方でもすぐに使える基本の方法から、より効率的な処理方法までをわかりやすく解説します。

エクセルで特定の文字を削除する基本方法

大量のデータ修正を行う場合、効率的に特定の文字を削除する方法を知っているだけで、作業時間が大幅に短縮されます。
ここでは、初心者の方にもわかりやすい3つの方法をご紹介します。


手作業で文字を削除する(初心者向け)

まずは、もっともシンプルな方法です。
セルをクリックして、編集モード(F2キーまたはダブルクリック)にし、不要な文字を選んでDeleteキーで削除します。

例:

「株式会社〇〇」という文字列から「株式会社」だけを消したい場合
→ セルをクリックし、「株式会社」の部分だけを削除します。

メリット:

  • 直感的で操作が簡単

  • 修正箇所が1~2件程度ならこれで十分

 注意点:

  • 元データに直接上書きするため、誤って他の部分を消してしまうリスクがある

  • データが多いと作業に時間がかかる


 補足:フィルター機能で対象データを絞り込む方法

対象となる文字列が含まれるセルを一括で抽出したいときは、フィルター機能を使うと作業が少し楽になります。

手順:

  1. データ範囲にフィルターを設定(「データ」タブ →「フィルター」)
    「データ」タブ →「フィルター」

  2. 対象列のフィルターから「テキストフィルター」→「指定の文字列を含む」などを選択
    テキストフィルターで対象データを絞りこみ

  3. 抽出されたセルだけを目視で確認しながら、手作業で文字を削除
    ↓テキストフィルターで対象の文字が含まれているデータだけ表示されています。
    修正対象だけ表示されるため、修正するデータを探す必要がなくなります。
    テキストフィルターでデータ絞りこみ後手動で訂正

この方法のメリット:

  • 対象のセルだけを表示できるため、修正漏れや見落としを防ぎやすい

  • 一括置換に不安がある場合でも、慎重に確認しながら作業できる


 手作業での修正は、少量データのときや慎重に確認したいときにおすすめですが、
件数が多くなる場合は、次に紹介する「置換」機能や「SUBSTITUTE関数」を使うと格段に効率アップします。

「置換」機能を使って一括削除する

対象の文字が複数ある場合は、「置換」機能を使えば一括で削除できます。

操作手順:

  1. キーボードで Ctrl + H を押す(または「ホーム」タブ →「検索と選択」→「置換」)

  2. 「検索する文字列」に削除したい文字(例:「株式会社」)を入力

  3. 「置換後の文字列」は空欄にする
    置換機能を利用して対象を削除

  4. 「すべて置換」をクリック
    置換機能(すべて置換)を利用して対象を一括削除

これで、選択範囲やシート全体から指定の文字がまとめて削除されます。

メリット:

  • 一括で処理できるため、作業が非常に早い

  • 手動ミスが減る

注意点:

  • 完全一致しないと置換されない(例:「株式会社A社」と「(株)A社」は別扱い)

  • 元データを変更するため、操作前にバックアップを取るのが安全

 詳しくは以下の記事も参考にしてください。

Excelの置換がうまくいかない?表記ゆれ・改行・複数一括置換の対処法まとめ!

SUBSTITUTE関数を使って文字を削除する

元データを残したまま別の列に修正結果を出したいときは、SUBSTITUTE関数がおすすめです。

基本の構文:

=SUBSTITUTE(対象セル, "削除したい文字", "")

例:

セルA2に「株式会社A社」と入っている場合、
「株式会社」を削除するには以下のように記述します。

=SUBSTITUTE(A2, "株式会社", "")

結果:「A社」 と表示されます。
SUBSTITUTE関数を利用して対象を削除

メリット:

  • 元データを残せるので、加工や確認に向いている

  • 関数なのでコピーやフィルタにも強い

注意点:

  • 完全一致でしか削除されない(類似語の置換はできない)

  • 計算式のため、値として使いたい場合は「コピー → 値貼り付け」が必要

さらに効率化する便利な方法

「置換」や「SUBSTITUTE関数」で特定の文字を削除するだけでも十分便利ですが、
より複雑なパターンや大量のデータを扱う場合には、さらに効率的な方法もあります。

ここでは、複数の文字をまとめて削除したいときや、不要なスペースや制御文字への対処法
さらに上級者向けにVBAマクロでの自動処理もご紹介します。


複数の文字をまとめて削除する方法

複数の不要な文字を削除したい場合は、SUBSTITUTE関数の入れ子で対応可能です。

例:

セルA2に「株式会社ABC(株)」という文字列があり、
「株式会社」「(株)」の両方を削除したい場合:

=SUBSTITUTE(SUBSTITUTE(A2, "株式会社", ""), "(株)", "")

このように、SUBSTITUTE関数を重ねて使うことで複数の語句を一度に削除できます。
SUBSTITUTE関数を重ねて利用

ポイント:

  • 文字列を複数指定して削除したいときに便利

  • ただし 入れ子が増えると式が読みにくくなる ため、複雑になりすぎる場合は注意が必要です


TRIM関数やCLEAN関数との組み合わせ

文字列の中には、「見えない文字」や「余計なスペース」が含まれていることがあります。
こうしたデータの整形には、以下の関数が役立ちます。

TRIM関数:

=TRIM(対象セル)

不要な半角スペースを取り除く(ただし文字間の全角スペースは対象外)

TRIM関数で余計なスペースを削除

スペースの種類や位置によって削除されるかが変わります。
■文字列の前後の場合:
_文字列_ →文字列 ※全角スペースでも削除される

文字列間の全角スペース場合:
文字列1_文字列2 →文字列1_文字列2 ※全角スペースは削除されずに残る

■文字列間に半角スペースが連続して入っている場合:
文字列1_ _文字列2 →文字列1_文字列2
※連続している半角スペースは1つにまとめられる

CLEAN関数:

=CLEAN(対象セル)

印刷できない制御文字を削除

CLEAN関数で改行を削除

SUBSTITUTEとの組み合わせ例:

=TRIM(SUBSTITUTE(A2, "株式会社", ""))

このように、削除したい文字列に加えてスペースも整えることで、見た目にもきれいなデータに整形できます。

SUBSTITUTE関数とTRIM関数の連携例


VBAマクロで一括削除する

大量のデータに対して一括で特定の文字を削除したい場合、**VBA(マクロ)**を使えばさらに効率的に処理できます。
慣れてしまえば、文字列の置き換えやデータ加工を一瞬で自動化できる便利な方法です。

VBA(マクロ)の基本設定がまだの方は、以下の記事を参考にしてください。
初心者でも簡単!Excelマクロボタンの設定と実践的な活用法


▶ 基本形:指定範囲から「株式会社」を削除するマクロ

Sub DeleteWordInColumnA()
 'A2~A1000のセルから「株式会社」を削除
 Dim cell As Range
  For Each cell In Range("A2:A1000")
   If cell.HasFormula = False And cell.Value <> "" Then
    cell.Value = Replace(cell.Value, "株式会社", "")
  End If
  Next cell
 MsgBox "処理が完了しました。"
End Sub

特定の文字を消すマクロの例

✅ 使い方:

  1. Alt + F11 でVBE(マクロ編集画面)を開く

  2. 「挿入」→「標準モジュール」を選択し、上記のコードを貼り付け

  3. エクセルに戻り、Alt + F8 でマクロを選んで実行


✅ このマクロのポイント:

項目 内容
対象範囲 A2~A1000に限定しているため、処理が高速で安全
条件付き処理 空白セルや数式セルは自動でスキップ
応用性 削除したい文字を変えれば他の語句にも使える
終了確認 処理完了時にメッセージ表示でわかりやすい

応用:選択範囲に対して実行するタイプ(確認メッセージ付き)

選択範囲が自由に指定できる分、列全体を選んでしまうと処理時間がかかる点に注意が必要です。
処理前に確認メッセージを出すことで、誤操作を防げます。

Sub DeleteWordInSelection()
'選択範囲から「株式会社」を削除(確認付き)
Dim cell As Range
Dim result As VbMsgBoxResult

result = MsgBox("選択範囲から「株式会社」を削除します。続けますか?", vbYesNo + vbQuestion)
If result = vbNo Then Exit Sub

For Each cell In Selection
If cell.HasFormula = False And cell.Value <> "" Then
cell.Value = Replace(cell.Value, "株式会社", "")
End If
Next cell

MsgBox "処理が完了しました。"
End Sub

選択範囲で特定の文字列を消すマクロ_マクロ実行前にメッセージを表示します。


⚠ 注意点まとめ:

  • 元データは上書きされます → 実行前にバックアップをとるのが基本

  • 数式セルは対象外HasFormula で安全にスキップ

  • 大量データは処理が遅くなる場合あり → 基本形のように範囲を絞ると安心

  • 自由度が高い分、操作ミスのリスクもある → 選択範囲タイプでは事前確認を追加


このように、マクロを使えば「置換」や「関数」よりも柔軟で強力な処理が可能になります。
まずは範囲指定の基本形から試してみて、必要に応じて応用マクロにステップアップしていきましょう!

まとめ:目的とデータ量に応じて使い分けよう

特定の文字を削除するだけでも、エクセルにはさまざまな方法があります。
少ない件数であればセルを直接編集して対応できますが、データが多くなればなるほど、関数や置換機能を活用することで効率が大幅にアップします。

また、目視での確認を重視したい場合はフィルター機能を組み合わせるとミスを減らすことができますし、
さらに複雑な処理や大量データにはVBAマクロも有効です。


この記事で紹介した方法まとめ

方法 特徴・向いている場面
手作業で削除する 数件の修正のみ/内容を目で確認しながら編集したい場合
置換機能(Ctrl + H) 同じ文字列が大量にある/一括で一気に修正したい場合
SUBSTITUTE関数 元データを残しつつ別列に加工したい場合
SUBSTITUTE関数の入れ子 複数の語句をまとめて削除したい場合
TRIM・CLEAN関数との併用 不要なスペースや制御文字も整えたい場合
VBAマクロで一括処理 データ件数が非常に多く、効率重視で自動化したい場合

修正したい文字やデータの量・作業の目的に応じて、最適な方法を選ぶことが作業効率アップのカギです。
最初は「置換」や「SUBSTITUTE関数」から試してみて、自分の業務に合ったやり方を見つけていきましょう。


【関連記事】

※外部リンク※

※参考書籍 (PR)