メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

セルからすべての句読点(カンマ、引用符、アポストロフィ)を削除する方法

Author Kelly Last modified

Excelでデータを扱う際、セル内にカンマ、引用符、ピリオド、疑問符、コロンなど、さまざまな句読点が含まれている場合があります。こうした句読点は、データ分析やソート、テキスト抽出、書式設定の妨げになることがあります。例えば、さらなる計算処理の準備、クリーンなデータセットのエクスポート、ユーザー入力の標準化などを行う際に、句読点をすべて取り除いて、文字・数字・必要であればスペースのみを残したい場合があります。

この記事では、Excelでセルからあらゆる句読点を効率的に削除するためのいくつかの実用的な方法を紹介します。ユーザー定義関数、専用のExcelアドイン、または標準の数式を利用する方法など、ご自身の用途に合わせて最適な解決策を見つけることができます。


Excelの数式を使ってセルからすべての句読点を削除する方法(VBAやアドイン不使用)

この方法は、マクロが使えない、またはExcelアドインが利用できない方に最適です。入れ子のExcel数式を使うことで、テキスト内のすべての句読点を包括的に削除できます。Excelの組み込み関数を利用するため、互換性が高く、セキュリティポリシーにも適合しやすい方法です。注意:この数式ベースの手法は強力ですが、削除したい句読点が非常に多い場合や、文字列が非常に長い場合は数式が複雑になります。また、削除する句読点のリストを変更したい場合は、数式の調整が必要となります。

シナリオ例:商品説明や商品名のデータシートを受け取り、それらにカンマやピリオド、疑問符、各種引用符が含まれており、レポート作成や別システムへのインポートのためにすべて削除したい場合。

1. 対象となるセル(例:B2)に、以下の数式を入力して、よく使われる句読点を削除します(必要に応じて文字リストをカスタマイズしてください):

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, ",", ""), ".", ""), "!", ""), "?", ""), ";", ""), ":", ""), """", "")

2. Enterキーを押して数式を適用します。さらに多くの行を処理する場合は、フィルハンドルを下にドラッグして数式を他のセルにコピーしてください。

さらに多くの句読点を削除したい場合は、不要な文字ごとにさらにSUBSTITUTE関数を入れ子にしてください。より高度なケースや句読点リストが長い場合は、以下のTEXTJOIN配列数式(Excel2016以降)をご利用いただけます。

=TEXTJOIN("", TRUE, IF(ISNUMBER(FIND(MID(A2, ROW(INDIRECT("1:"&LEN(A2))),1), "~!@#$%^&*()_-+={}[]:;""''<>,./?`\|")), "", MID(A2, ROW(INDIRECT("1:"&LEN(A2))),1)))

この数式は配列数式として機能し、~!@#$%^&*()_-+={}[]:;""''<>,./?`\| に含まれるすべての文字を削除します。ご利用方法:

  • B2(または任意のセル)にこの数式を入力してください。
  • Excel365、2019、2016をご利用の場合は、そのままEnterキーを押してください。古いバージョンでは、Ctrl+Shift+Enterで配列数式として入力する必要があります。
  • 追加の行にも同様にコピーして適用してください。

注意:

  • FIND()関数内の句読点リストのテキストは、必要に応じて編集または拡張してください。
  • リスト内で引用符を使用する際は注意してください。一重の引用符を文字列内で使う場合は2つ重ねて(“”)入力します。
  • 先頭や末尾のスペースは保持されます。追加のスペースも削除したい場合はTRIM()をお使いください。
  • 大規模なデータ範囲で配列数式を使用するとパフォーマンスに影響する場合があります。

トラブルシューティング: 数式の出力がエラーになる場合は、A2に値が入力されているか、配列数式が正しく入力されているか(Ctrl+Shift+Enter入力後に古いExcelの場合は波括弧 { } が表示されているか)を確認してください。空白の結果は、セルが句読点のみ、もしくは空であることを示します。


Kutools for Excelを使ってセルからすべての句読点を削除する方法

テキストの整理を頻繁に行う場合や、手軽なグラフィカルツールが必要な場合、Kutools for Excelの「特定の文字を削除」機能を利用すれば、指定した範囲から効率的に句読点を削除できます。数式やコードとは異なり、このアドインはどの文字を削除するかを直接ダイアログで指定できるため、基本的なユーザーから上級者まで柔軟で使いやすいツールです。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1句読点を削除したい範囲を選択し、クリックします。 Kutools > テキスト > 特定の文字を削除スクリーンショットを参照ください:
A screenshot of the Remove Characters option in Kutools tab in Excel

2開いた「特定の文字を削除」ダイアログボックスで、 カスタム 変換オプションにチェックを入れ、削除したい句読点 ~!@#$%^&*()_-+={}[]:;""''<>,./?`\| を下のボックスに入力します。その後、 OK ボタンを押すと、選択されたすべてのセルからこれらの句読点シンボルが即座に削除されます。下記のスクリーンショットを参照:
A screenshot showing the punctuation marks entered in the Remove Characters dialog box and the punctuation marks removed from cells

結果はワークシートで直ちに確認できます。この機能はインポートデータの整理や、分析用データセットの準備、テキスト書式の統一化などに特に役立ちます。選択範囲のデータに直接作用しますので、保存前には必ず変更後のデータをご確認ください。

デモ:Kutools for Excelを使ってセルからすべての句読点を削除する方法

 

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


ユーザー定義関数を使ってセルからすべての句読点を削除する方法

この方法では、任意の句読点をセルから削除できるユーザー定義関数(UDF)を導入します。UDFは、この操作を頻繁に行う予定で、かつワークブックでマクロを有効化できる場合に最適です。ほぼすべての句読点にカスタマイズして対応できるため、関数を迅速に共有したり再利用する場合にも便利です。

ただし、この方法はマクロ有効ワークブックが必要であり、マクロ管理が厳しい環境では制限される可能性があります。新しいコードを追加・実行する前には、必ず作業ファイルを保存してください。また、ワークブックを共有する場合は、マクロの互換性も考慮しましょう。

1. Alt + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 挿入>モジュール をクリックし、次に下記のコードを新しく開いたモジュールウィンドウにコピー&ペーストします。

VBA:Excelのセルから句読点を削除するコード

Function RemovePunctuation(Txt As String) As String
With CreateObject("VBScript.RegExp")
.Pattern = "[^A-Z0-9 ]"
.IgnoreCase = True
.Global = True
RemovePunctuation = .Replace(Txt, "")
End With
End Function

3. コード入力後、Ctrl+Sでユーザー定義関数を保存し、Visual Basic for Applicationsウィンドウを閉じます。次回以降も関数を使うため、ブックはマクロ有効ブック(*.xlsm)として保存してください。

4Excelに戻り、結果を表示させたい空白セルを選択し、次の数式を入力します。 =RemovePunctuation(A2) (A2が整理対象セルの場合)、必要に応じてフィルハンドルを下にドラッグして他のセルにも適用できます。
A screenshot of entering the RemovePunctuation function formula in a cell

この数式を適用すると、選択したセル内のすべての句読点が削除され、文字と数字だけが残ります。下記の例をご覧ください:
A screenshot showing the result after applying the RemovePunctuation function, with punctuation marks removed

ヒント: 大規模なデータセットでは、UDFの再計算に追加の時間がかかる場合があります。必要に応じて、出力結果を値としてコピー&貼り付けすることで確定できます。


関連記事:

Excelで文字列・数字・セルから文字だけを削除する方法

Excelでテキスト文字列から数字だけを削除する方法

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得