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

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

Excelでアスタリスク/疑問符/チルダを検索して置換するには?

Author Xiaoyang Last modified

大規模なデータセットを処理したり、Excelでテンプレートを管理している場合、データ内にアスタリスク(*)、疑問符(?)、またはチルダ(~)などの特殊文字が含まれていることがあります。これらの文字は通常、Excelの検索操作や数式でワイルドカードやコマンド記号として機能します。そのため、単にその文字自体を検索したい場合に問題が生じることがあります。例えば、他のシステムからのデータエクスポートやユーザー入力には、これらのシンボルがファイル名、製品コード、または説明文の一部として含まれていることがあります。

Excelの検索と置換ダイアログに直接入力してこれらの特殊文字を検索して置換しようとしても、期待通りの結果を得られないことがよくあります。これは、Excelが「*」と「?」をワイルドカード文字として解釈するためです。「*」は任意の文字列に、「?」は単一の文字に一致します。また、チルダ「~」はエスケープ文字として使用され、直後に続く文字をそのままの文字として扱うことを示します。これらをデフォルトの形式で検索に使用すると、意図しない範囲のデータを大量に変更してしまう可能性があります。

この記事では、Excelでアスタリスク、疑問符、またはチルダを素早く正確に検索して置換する方法を詳しく説明し、さまざまな作業シナリオに適したいくつかの柔軟な解決策を紹介します。

Excelでアスタリスク/疑問符/チルダを検索して置換する

Excelの数式:特殊文字を置換するSUBSTITUTE関数

VBAマクロ:コードを使用して特殊文字を検索して置換する


Excelでアスタリスク/疑問符/チルダを検索して置換する

ワークシート内のこれらの特定の文字を検索して置換する際 — それがテキストの先頭、末尾、または途中にあるかどうかに関わらず — 検索内容ボックスでそれらの前にチルダ (~) を付ける必要があります。これにより、Excelにワイルドカードや特殊コマンドではなく実際の文字を検索するよう指示します。このアプローチは、シンプルなテーブルでのデータクリーンアップや再フォーマット作業に効果的ですが、自動化が必要な場合や大規模なデータ範囲を繰り返し処理する場合には制限があるかもしれません。

1. 特殊文字を検索して置換したいセルの範囲を選択します。全体のワークシートを検索したい場合は、次のステップを行う前に任意のセルをクリックしてください。それ以外の場合は、置換範囲を限定するために関連するエリアを選択します。

2. ホームタブに移動し、検索と選択 > 置換をクリックするか、便利なショートカットCtrl + Hを使用して検索と置換ダイアログを開きます。大規模なデータセットを扱っている場合、ショートカットを使うことで時間を節約し、繰り返しクリックする必要がなくなります。

a screenshot showing how to open the Find and Replace dialog box

3. 検索と置換ダイアログで、アスタリスクを検索する場合は「~*」を、疑問符の場合は「~?」を、チルダの場合は「~~」を検索内容ボックスに入力します。置換後の文字列ボックスには、置き換えたい値や文字を入力します。これにより、これらの特殊文字をテキストや数字に置き換えたり、空白にすることで削除することも可能です。

a screenshot of specifying the Find what and Replace with boxes

4. 全て置換ボタンをクリックして操作を実行します。Excelは、何件の置換が行われたかを確認するダイアログを表示します。データの結果を慎重に確認し、目的のセルのみに影響があったことを確認してください。

a screenshot of the original data a screenshot of arrow a screenshot showing the results after replacing

5. 最後に、変更を確認した後、検索と置換ダイアログを閉じます。

注意: 同じ範囲内で複数種類の特殊文字を置換する場合、それぞれの文字ごとに手順を繰り返す必要があります。数式を含むデータに注意してください。数式のテキストの一部を置換するとエラーになる可能性があります。大規模な置換を行う前には、データ損失や予期せぬ結果を防ぐために必ずワークシートのバックアップを作成してください。

ヒント: リテラルなチルダを検索する場合、検索内容フィールドで「~~」を使用します。疑問符を置換する場合は「~?」を入力します。これにより、複雑なテキスト列や商品コードでも何が変更されるかを正確に制御できます。

利点: この組み込み機能は、自動化や高度なロジックが必要ない場合の迅速な置換にシンプルで効果的です。

制限: 各置換操作は手動で行う必要があり、多くのシートやファイルにわたる繰り返しの置換には適していません。

トラブルシューティング: 一致するものが見つからない場合、検索内容ボックスで特殊文字の前にチルダ (~) を正しく入力したか確認してください。数式への影響を避けるために、特定の列やテキストセルのみを対象にするフィルタリングを検討してください。


Excel数式:特殊文字を置換するSUBSTITUTE関数

数式ベースのアプローチを好む場合、ExcelのSUBSTITUTE関数は、ワークシートのセル内で直接的に文字を置換するための動的な方法を提供します。この方法は、元のデータを維持しつつ、クリーンまたは更新されたテキストを別々の列に表示する場合に特に役立ちます。変更を元に戻す必要がある場合やレビューが必要な場合に適しており、数百または数千の項目を持つリストやテーブルを処理するのに簡単に適応できます。

1. 列Aの値からアスタリスク "*" を置換する必要があると仮定します。以下の数式をB1などターゲットセルに入力します:

=SUBSTITUTE(A1,"*","replacement")

この数式は、セルA1のすべてのアスタリスクをテキスト「replacement」に置換します。「replacement」は任意のテキストや数字に置き換えられ、または空の文字列("") を指定してアスタリスクを単純に削除することもできます。

2. Enterキーを押して数式を確定します。数式を他の行にも適用するには、セルB1を選択し、コピー(Ctrl+C)してから、数式を貼り付けたい範囲を選択し、貼り付け(Ctrl+V)します。Excelは参照を自動的に調整し、各行が列Aの値を処理します。

3. 疑問符 "?" やチルダ "~" を置換するには、同様の数式を使用します。例えば:

=SUBSTITUTE(A1,"?","replacement")
=SUBSTITUTE(A1,"~","replacement")

より複雑な置換ニーズに対応するために、複数のSUBSTITUTE関数を組み合わせることができます。例として、テキストから "*" と "?" の両方を取り除く場合:

=SUBSTITUTE(SUBSTITUTE(A1,"*",""),"?","")

これにより、もう一方のSUBSTITUTEをネストすることで、一度に両方のシンボルを削除します。

利点: 数式によるソリューションは、ソースデータが変更されると自動的に更新され、並列比較が可能で、繰り返し使用しても安全です。

制限: 結果は元のデータとは分離されています。元の値を上書きする必要がある場合は、結果を値としてコピーして貼り付ける必要があります。

トラブルシューティング: SUBSTITUTE関数はプレーンな値でのみ動作します。データに数式や配列数式が含まれていたり、大文字小文字を区別する置換が必要な場合は、追加の手順やヘルパー列が必要になる場合があります。文字が期待通りに置換されていない場合は、それらが実際の標準的な文字であり、他の言語やシステムエンコーディングからの似たようなシンボルではないことを確認してください。


VBAマクロ:コードを使用して特殊文字を検索して置換する

複数のシートや大規模なデータセットに対して頻繁にアスタリスク (*)、疑問符 (?)、またはチルダ (~) を検索して置換する必要がある場合、カスタムVBAマクロでプロセスを自動化するのが非常に効果的です。このアプローチはバッチ操作や反復タスクに最適で、手動や数式ベースの方法よりもはるかに柔軟性があります。マクロは、すべてのセル、特定の列、複数のワークブック、または選択されたシートだけなど、細かく設定できます。

1. まず、Excelで開発者タブを有効にします(まだ表示されていない場合)。次に、開発者 > Visual BasicをクリックしてVBAエディタを開きます。VBAウィンドウで、挿入 > モジュールをクリックし、以下のコードをモジュールに貼り付けます。

Sub ReplaceSpecialCharacters()
    Dim ws As Worksheet
    Dim rng As Range
    Dim oldChar As String
    Dim newChar As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to process", xTitleId, rng.Address, Type:=8)
    
    oldChar = Application.InputBox("Enter the character to replace (*, ?, or ~)", xTitleId, "", Type:=2)
    newChar = Application.InputBox("Enter the new character or value", xTitleId, "", Type:=2)
    
    For Each cell In rng
        If Not IsEmpty(cell.Value) And VarType(cell.Value) = vbString Then
            cell.Value = Replace(cell.Value, oldChar, newChar)
        End If
    Next cell
End Sub

2. マクロを実行するには、 Run button (実行) ボタンをクリックします。カーソルがマクロ内にある状態でプロンプトが表示され、処理する範囲を選択し、置換する文字(必要に応じて *、?、または ~ を入力、引用符なし)を指定し、最後に置換後の値や文字を入力します。マクロは選択された範囲内の各セルをそれに応じて処理します。

利点: VBAの自動化は、大量のデータ、クロスシート操作、またはより複雑なデータ処理ワークフローに組み込むのに適しています。反復的または大量の置換タスクにかかる時間を大幅に短縮します。

制限: コードは元のセル値を直接変更するため、マクロを実行する前にバックアップを作成するかコピーしておく必要があります。ユーザーはデータ範囲と置換パラメータを慎重に確認するべきです。VBAには実行後の元に戻し機能がないためです。また、マクロはExcelでマクロ機能を有効にする必要があり、セキュリティ設定が厳しい環境では制限される場合があります。

トラブルシューティング: マクロの実行中にエラーが発生した場合、マクロが有効になっていること、およびターゲットのセルにワークシート保護がかかっていないことを確認してください。入力ボックスには置換したい文字のみを入力し、ワイルドカードやエスケープシーケンスを使用しないでください。マクロが置換を行わない場合、範囲選択に変更したいセルが含まれているか確認してください。


関連記事:

テキストボックス内の特定のテキストを検索して置換するには?

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日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得