この記事では、複数のExcelテーブルファイルでワイルドカードや正規表現を使用してキーワードを一括検索・置換する方法を紹介します。これは、番号、コード、地域番号、商品コード、人員番号などの一括修正に適しています。 HeSoft Doc Batch Tool を使用すると、複数のxlsxファイルを一度にインポートし、セルのテキスト処理範囲を設定し、030\d{3}、46\d{3}のようなルールで類似した内容を照合し、指定した値に一括置換することで、Excelを一つずつ開いて手動で検索・置換する繰り返し作業を減らすことができます。
日常業務では、多くのExcel表で単一の固定語句を変更するだけでなく、特定の規則に従って類似した内容を一括置換する必要が生じます。例えば、病院番号、地域コード、商品コード、注文番号、担当者番号などは、先頭の数桁が共通で、後続の桁が変化する場合があります。Excel標準の検索と置換機能を使用すると、多くの場合、ファイルを一つずつ開き、ルールを一つずつ実行する必要があり、ファイル数が多くなると非常に時間がかかり、置換漏れも発生しやすくなります。
本記事で解決する問題は、ワイルドカードや正規表現に類似したルールを使用して、多数のExcelファイル内のキーワードを一括検索・置換する方法です。以下では、 HeSoft Doc Batch Tool を例に、複数のxlsxファイル内のルールに合致する内容を統一して置換する方法を示します。例では、表内のHospital CCN列に030006、030010、030011などの番号が存在し、CBSA列には46060といったコードが存在します。ルールマッチングにより、030で始まる6桁の番号を111111に、46で始まる5桁の番号を22222に置換します。
適用シーン
このExcel一括検索置換の方法は、完全に固定されたキーワードの置換ではなく、規則性を持つ内容の処理に適しています。一般的なシナリオは以下の通りです。
- Excelファイル内の番号、アカウント、証明書番号の一部を一括マスキングする場合。
- 複数のxlsx、xlsファイルの古いコードを新しいコードに統一して置換する場合。
- 部門レポート、病院リスト、顧客リスト、商品リストなどのルール化されたフィールドを一括処理する場合。
- 複数のワークブックに、030で始まる、46で始まるなどの同一接頭辞を持つ番号が存在し、ルールに従って統一して置換する必要がある場合。
- 多数のExcelファイルを同時に処理し、手動でファイルを開いての検索置換を回避したい場合。
大量のテーブルを頻繁に処理するユーザーにとって、このようなオフィスツールの核心的な価値はファイルの一括処理にあり、繰り返しクリック、コピー、検索、置換といった操作を一度のタスクに集約することで、手動によるエラー率を低減します。
効果プレビュー:処理前と処理後
処理前:複数のセルにルールに合致する番号が存在
処理前のExcel表では、B列のHospital CCNに030で始まる6桁の番号(例:030006、030010、030011、030064など)が複数含まれています。D列のCBSAにも、46で始まる5桁の数字(例:46060)が複数存在します。スクリーンショットでは、一括置換が必要な領域を赤い矢印で示しています。

手動で操作する場合、各ワークブックで030006、030010、030011などの具体的な値を個別に検索するか、複数回のルール検索を実行する必要があり、効率が非常に悪くなります。さらに厄介なのは、これらの番号が異なるファイル、異なるシート、さらには異なる列に分散しているため、手動チェックでは見落としが生じやすい点です。
処理後:ルールに合致する内容が統一して置換済み
処理が完了すると、030\d{3}ルールに合致する番号は111111に、46\d{3}ルールに合致する番号は22222に置換されます。下図では、元々B列にあった030で始まる複数の番号が111111に変わり、D列の46060といったコードも22222に変わっていることが確認できます。

これは、一括検索置換が単一の固定値に対するものではなく、ルールに従ってテキストの種類をマッチングできることを示しています。Excelキーワードの一括変更、コードの一括置換、表データの一括マスキングといったタスクにおいて、この方法はより柔軟です。
操作手順
手順1:Excelツールに入り、「Excel内のキーワードを検索して置換」を選択
HeSoft Doc Batch Tool を開き、左側の機能カテゴリから「Excelツール」を選択します。画面には複数のExcel関連機能が表示され、最初の機能が「Excel内のキーワードを検索して置換」です。この機能は、Excelファイルの内容にあるキーワードを一括検索・置換するために使用され、本記事のタスクに正確に合致します。

この機能を選択する目的は、Excelの内容置換に特化したウィザードフローに入るためです。単一のExcelファイル内での検索置換とは異なり、ここでは複数のファイルを一括インポートし、処理ルールを統一的に設定してから一度に実行できます。
手順2:処理対象のExcelファイルを追加
機能ページに入ると、画面の上部に現在のタスク名「Excel内のキーワードを検索して置換」が表示されます。最初の手順は、処理対象のレコードを選択することです。「ファイルを追加」をクリックするか、「フォルダからファイルをインポート」を使用できます。スクリーンショットでは、既に3つのxlsxファイル(product_list.xlsx、team-participant-list.xlsx、test.xlsx)が追加されており、下部のサマリーにはレコード数が3と表示されています。

この手順の目的は、一括置換が必要なすべてのExcelファイルを単一のタスクリストに集約することです。インポート後は、名前、パス、拡張子などの情報を確認し、ファイルの選択ミスがないか検証することを推奨します。処理が不要なファイルがある場合は、操作列の削除ボタンでリストから除外できます。確認後、「次へ」をクリックして処理オプションの設定に進みます。
手順3:Excelの処理範囲とデータ型を設定
処理オプション設定ページでは、最初に処理範囲を確定する必要があります。スクリーンショットでは「セルテキスト」が選択されており、今回の置換がExcelセル内のテキスト内容を対象とすることを示しています。インターフェースには、シート名、シェイプ上のテキストなどのオプションも表示されていますが、今回の例では表のセル内の番号置換が中心となるため、「セルテキスト」のみを選択すれば十分です。
処理対象のセル数式タイプでは、スクリーンショットでは「制限しない」が選択されています。数式を含むセルの処理方法では「数式計算後の値」が、処理対象のセルデータ型では「テキスト」が選択されています。010039、030006のように先頭に0が付く番号データの場合、テキストとして処理することで、数値形式による先頭の0の欠落を防ぎ、より安全です。
インターフェースには、セルデータ型の変換設定も提供されています。スクリーンショットでは「処理前のデータ型への自動変換に失敗した場合、このセルをテキストに変換する」と表示されています。この設定は、番号フィールドの一括置換に非常に役立ちます。番号は数字のように見えても、実際の業務上の意味は通常テキストコードだからです。
手順4:あいまい検索方法を選択し、ワイルドカード正規表現ルールを入力
同じページを下にスクロールして、キーワードオプションを設定します。「検索方法」で、スクリーンショットでは「数式を使用してテキストをあいまい検索」が選択されています。そして、「検索キーワード」リストに、030\d{3} と 46\d{3} の2つのルールを入力します。この記法はワイルドカードや正規表現の考え方に沿ってテキストをマッチングするもので、\dは数字、{3}は連続する3桁の数字を意味します。

本例では、030\d{3}は「030で始まり、後に3桁の数字が続く」内容(例:030006、030010、030111など)にマッチします。46\d{3}は「46で始まり、後に3桁の数字が続く」5桁のコード(例:46060)にマッチします。右側の「置換後のキーワード」リストには、1行目に111111、2行目に22222と入力します。これは、左側の1行目のルールにマッチした内容を右側の1行目の結果に、左側の2行目のルールにマッチした内容を右側の2行目の結果に置換することを意味します。
ここで特に注意すべきは、左右の行番号の対応関係です。一括置換では、通常、1行の検索ルールが1行の置換結果に対応します。行がずれると、本来111111に置換すべき内容が別の値に置換される可能性があるため、設定後は1行ずつ照合することを推奨します。
手順5:保存場所を設定して処理を開始
スクリーンショットのフローウィザードには、後続の手順として「保存場所の設定」と「処理開始」があることが示されています。キーワードルールの設定が完了したら、「次へ」をクリックし、必要に応じて処理後のファイルの保存場所を選択します。確認を容易にするため、重要な元ファイルを直接上書きせず、まず新しい出力ディレクトリに保存し、置換結果が正しいことを確認してからアーカイブまたは元ファイルと置き換えることを強く推奨します。
「処理開始」手順に進んだら、タスクを起動します。ソフトウェアは、先にインポートしたファイルリストに従ってExcelファイルを一つずつ処理し、設定されたワイルドカード正規表現ルールに基づいてセルテキストを検索および置換します。処理完了後、出力ファイルを開き、対象列が期待通りかを確認します。
よくある質問と注意事項
1. なぜ番号をテキストとして処理するのですか?
多くのExcel番号は数字のように見えますが、業務上は計算に使用する数値ではありません。例えば、010039、030006はすべて先頭に0を含んでおり、通常の数値として処理すると先頭の0が失われる可能性があります。スクリーンショットでデータ型として「テキスト」が選択されているのは、この種のコードフィールドの処理に適しています。
2. ルール030\d{3}はどのような内容にマッチしますか?
「030」の後に3桁の数字が続くテキスト、つまり長さ6桁で030から始まる番号にマッチします。例えば、030006、030010、030999などが該当します。番号の桁数が異なる場合は、それに応じて後ろの数字の桁数を調整する必要があります。
3. 複数のExcelファイルをまとめて置換できますか?
可能です。スクリーンショットからわかるように、タスクリストには一度に3つのxlsxファイルが追加されています。数十、数百のファイルがある場合でも、「フォルダからファイルをインポート」機能を使用することで、手動での選択コストを削減できます。
4. 置換前にバックアップは必要ですか?
バックアップを推奨します。一括置換の効率は非常に高いですが、ルール設定を誤ると影響範囲も大きくなります。特にワイルドカードや正規表現を使用する場合は、事前に少数のサンプルファイルでテストを行い、問題がないことを確認してから全ファイルを処理すべきです。
まとめ
HeSoft Doc Batch Tool を使用すると、複数のExcelファイル内のルール化されたキーワードを一度に検索して置換できます。本記事の例では、030\d{3}や46\d{3}といったワイルドカード正規表現ルールを使用して、複数箇所の番号を指定の値に一括置換し、ワークブックやセルを一つずつ手動で変更する煩雑な操作を回避しました。
xlsx、xlsファイル内のコード、番号、キーワード、またはマスキングデータを頻繁に処理する必要がある場合は、このような繰り返し作業を一括処理ツールに任せることをお勧めします。実際の操作では、最初にファイルをインポートし、次に処理範囲、検索方法、置換リストを設定し、最後に保存場所を選択して処理を開始することで、オフィスワークの効率を大幅に向上させることができます。