セルからすべての句読点(カンマ、引用符、アポストロフィ)を削除する方法
Excelでデータを扱う際、セル内にカンマ、引用符、ピリオド、疑問符、コロンなど、さまざまな句読点が含まれている場合があります。こうした句読点は、データ分析やソート、テキスト抽出、書式設定の妨げになることがあります。例えば、さらなる計算処理の準備、クリーンなデータセットのエクスポート、ユーザー入力の標準化などを行う際に、句読点をすべて取り除いて、文字・数字・必要であればスペースのみを残したい場合があります。
この記事では、Excelでセルからあらゆる句読点を効率的に削除するためのいくつかの実用的な方法を紹介します。ユーザー定義関数、専用のExcelアドイン、または標準の数式を利用する方法など、ご自身の用途に合わせて最適な解決策を見つけることができます。
- Excelの数式を使ってセルからすべての句読点を削除する方法(VBAやアドイン不使用)
- Kutools for 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の「特定の文字を削除」機能を利用すれば、指定した範囲から効率的に句読点を削除できます。数式やコードとは異なり、このアドインはどの文字を削除するかを直接ダイアログで指定できるため、基本的なユーザーから上級者まで柔軟で使いやすいツールです。
1句読点を削除したい範囲を選択し、クリックします。 Kutools > テキスト > 特定の文字を削除スクリーンショットを参照ください:
2開いた「特定の文字を削除」ダイアログボックスで、 カスタム 変換オプションにチェックを入れ、削除したい句読点 ~!@#$%^&*()_-+={}[]:;""''<>,./?`\| を下のボックスに入力します。その後、 OK ボタンを押すと、選択されたすべてのセルからこれらの句読点シンボルが即座に削除されます。下記のスクリーンショットを参照:
結果はワークシートで直ちに確認できます。この機能はインポートデータの整理や、分析用データセットの準備、テキスト書式の統一化などに特に役立ちます。選択範囲のデータに直接作用しますので、保存前には必ず変更後のデータをご確認ください。
デモ: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が整理対象セルの場合)、必要に応じてフィルハンドルを下にドラッグして他のセルにも適用できます。
この数式を適用すると、選択したセル内のすべての句読点が削除され、文字と数字だけが残ります。下記の例をご覧ください:
ヒント: 大規模なデータセットでは、UDFの再計算に追加の時間がかかる場合があります。必要に応じて、出力結果を値としてコピー&貼り付けすることで確定できます。
関連記事:
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!