Category Archives: 検索置換

ExcelGrepAddinの隠し機能 – 数式で正規表現文字列マッピング

ExcelGrepAddinは正規表現でファイルやセルの内容を検索するためのAddinなので、
一般的な方に対して難しいかもしれません。実は内部でよく使っている数式で正規表現文字列マッピング
機能は隠されていますが、疑問回答のために2つの例をあげます。

Office2016にも似ているような関数があると思います。

例1:文字列から数値を抽出

まず、ExcelGrepAddinをダウンロードしてインストールする必要があります。

インストール後、インストール先フォルダのXLLファイルクリックします。(安全のため、Excelより自動起動を廃止いたしました。)

これで、関数にExcelGrepAddinの内部関数が利用できるようになります。

本例では12abc23def900のような文字列から数値のみを抽出し、改行コードで連結する方法を説明します。

CTRL+SHIFT+A

例2:文字列からカタカタ・ひらがな・漢字を抽出

=RegexMatch(A1,”[\u30A1-\u30FA]+”,”,”,TRUE,TRUE)

=RegexMatch(A1,”[\u3041-\u3096]+”,”,”,TRUE,TRUE)

=RegexMatch(A1,”[々〇〻\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]+”,”,”,TRUE,TRUE)

取得結果:

本機能はサポート範囲外です。

37 ハイパーリンクの表示文字列のみ置換する

「既存の連番フォルダ(001~999)にファイルへのハイパーリンクを設定して、リンクの表示を001~999にしたい」のような質問がありましたので、ここでExcelDevToolの機能を活用して、ファイル一覧作成からリンク置換までの操作を例で説明します。

http://www.superdbtool.com/download.htm
①、上記のソフトをダウンロードして、Excelを閉じてからインストールします。終わりましたら、Excel起動して、データの入っているファイルを開きます。(インストールガイド)

まずサンプルのフォルダからファイルの一覧を抽出します。
Excelシート上にて右クリック → 機能拡張 →ファイル処理 →ファイル名一覧抽出
ChangeLinkDispaly-1

②、条件を設定し、出力をクリックします。
ChangeLinkDispaly-2

③、出力したシートを別シートへコピーして、機能拡張→選択範囲→リンクをすべて削除をクリックして、出力したファイルリンク一覧のリンクを外します。(本例ではSheet8です。)
B列に001~999までの置換先文字列を入力します。
ChangeLinkDispaly-3

ChangeLinkDispaly-4

④、Sheet7へ戻して、セルの書式設定で文字列を設定します。(これを設定しないと、置換後001ではなく1のように表示されてしまいます)シート上にて右クリックして 機能拡張→検索置換→Grep-Excelファイル検索/置換をクリックします。ここから実際の置換処理に入ります。
ChangeLinkDispaly-8

ChangeLinkDispaly-5

⑤、出た下記ダイアログの「選択」をクリックして、検索一覧シートの検索文字列と置換文字列の範囲を選択します。(Sheet8)
ChangeLinkDispaly-6
ChangeLinkDispaly-7

⑥、選択後、下記の設定にして、「置換」をクリックします。
ChangeLinkDispaly-9
置換後の一覧:
ChangeLinkDispaly-10
クリック:
ChangeLinkDispaly-11

33 ExcelDevToolのインストール/アンインストールガイド

インストールについて、問い合わせの方もいらっしゃいましたので、注意点を説明します。
本ソフトはOffice32Bitしか利用できません。Office64Bitを利用されている方はOffice32へ切り替えてから
ご利用ください。(普段Officeのインストールメディアに両方入っています。)
32 ビット版の Office 2010 は、ほとんどの人に推奨されるオプションです。

1. ダウンロード

①、ExcelDevToolのダウンロード
基本的に、http://www.superdbtool.com/download.htm から最新版をダウンロードしてご使用ください。
Vectorからもダウンロードできます。(最新版ではない可能性があります。)
http://www.superdbtool.com/download.htm

②、ダウンロード時に署名なワーニングがあった場合、それを無視してダウンロードしていただければ問題ないです。Windows8の場合、以下の画面も出る場合があります。Office2003以前でも使えるように、発行元の設定はしていません。インストールして問題ありません。



インストール&アンインストール(Youtube動画)

2.アンインストール方法

方法1:開いているExcelをすべて閉じてからセットアップのMSIファイル(上記1にてダウンロードしたセットアップファイル)をクリックして、以下の画面で削除を選択すれば簡単にアンインストールできます。
DeleteDevTool-1

方法2:普通のWindowsソフトウェアのアンインストールと同じでWindowsの「プログラムの追加と削除」を経由してアンインストールすることもできます。

Windows8:
http://windows.microsoft.com/ja-jp/windows-8/uninstall-change-program

Windows7:
[プログラムと機能] を開くには、[スタート] ボタン [スタート] ボタンの画像、[コントロール パネル]、[プログラム]、[プログラムと機能] の順にクリックします。
http://windows.microsoft.com/ja-jp/windows/uninstall-change-program#uninstall-change-program=windows-7

WindowsXP:
[スタート] ボタンをクリックし、[コントロール パネル] をクリックして、[プログラムの追加と削除] をダブルクリックします。[現在インストールされているプログラム] ボックスで、削除するプログラム[ExcelDevTool]をクリックし、[削除] (または [変更と削除]) をクリックします。プログラムの削除を確認するメッセージが表示されたら、[はい] をクリックします。
http://support.microsoft.com/kb/307895/ja

一時的にExcelから外したい場合、下記ページをご参照ください。
COM アドイン プログラムを登録または削除する

3. インストール

①、インストール前は開いているExcelファイルをすべて閉じてから
インストールしてください。インストールが終わりましたら、Excelを起動すれば即に利用できます。
インストールファイルをダブルクリックして、インストールします。
InstallDevTool-1
InstallDevTool-2
InstallDevTool-3
InstallDevTool-3
②、インストールが終わりましたら、Excelを起動して、下記のメニューが表示されたかを確認します。
InstallDevTool-4
右クリックも同じメニューが表示されます。
Office2013 64bit版は表示できないので、予めご了承ください。アドインツールがメニューに出てこない場合、まずOfficeのバージョンは64Bitかどうかをご確認お願いします。
使用している Office のバージョンを確認する方法

③、Office2007以降を利用されているなら、下記のようにExcelDevToolのメニューをクイックアクセスツールバーに追加できます。
InstallDevTool-6

InstallDevTool-7

インストール後、拡張メニュー出てこない場合、またはエラー発生した場合、どうすればいいでしょうか。
下記をご参照ください。
http://superdbtool.com/blog/excedevtoolqa

32 シート名の文字列を一括置換

ExcelDevToolを使って、各シート名にある文字列を一括で置換するする方法を説明します。
http://www.superdbtool.com/download.htm

①、上記のソフトをダウンロードして、インストールします。終わりましたら、Excel起動して、データの入っているファイルを開きます。
Excelシート上にて右クリックして、機能拡張⇒シート操作⇒「シート名文字列一括置換」をクリックします。
ReplaceSheet-1

②、検索文字列と置換文字列を入力して、OKをクリックします。
ReplaceSheet-2

本来ASheet…を全部BSheet…へ変更されました。
ReplaceSheet-3

Excelのフォルダ全体、キーワードリスト、正規表現に基づく検索置換

フォルダ全体検索、複数のキーワード一括検索置換、正規表現での検索、検索結果行を1つのシートに纏めることなら、ExcelDevToolのExcel検索機能をお勧めします。

以下のことは全部OK:
1. 一括で指定フォルダ内のエクセルファイルをすべて検索したい
2. キーワードにマッチングされた行(行全体)を結果シートに出力したい
3. 一括置換もしたい
4. 毎回入力は面倒くさい、指定したキーワード一覧で検索したい
5. 正規表現で検索したい
6. ブックは多いですが、その中の特定なシートしか検索したくない
7. セルの内容のみではなく、ヘッダー、テキストボックス、コメント….なども一括で検索したい

詳しくは下記の動画をご覧ください。

ExcelDevToolを使って、Grep検索機能の正規表現を下記の例で説明します。
まず以下のソフトをダウンロードして、Excelを閉じてからインストールします。インストールが終わったら、
対象ファイルを起動します。
http://www.superdbtool.com/download.htm

例:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12122383372

①、Excelシート上にて右クリックして、機能拡張⇒検索置換⇒「Grep-Excelファイル検索/置換(E)」をクリックします。
SearchRegexp6-1

②、検索文字列に正規表現式を入力して(\d+(?=個))、他は下記の図のように設定して、検索をクリックします。

\dは数値の意味です。
\d+は数値の桁数は1桁以上
(?=個)の意味は\d+の後ろに「個」があるという意味です。

詳細のチェックボックスを選択すれば、検索対象セルの行全体を結果シートに出力されます。

③、検索した結果のリストが出力されます。
SearchRegexp6-3

また、1行に複数件がある場合、以下のような結果が出ます。
Search

Excel 64Bit、2007以上のバージョンで使われる場合、
以下のAddinをご利用ください。
http://www.vector.co.jp/soft/winnt/business/se511935.html
Windows10+Office2016 32Bit & 64Bitで動作確認済み。

ExcelDevTool.GrepAddinは、マクロを書かなくても、エクセルでのExcelファイル一括検索(正規表現もOK),テキストファイル一括検索(正規表現もOK),ファイル名一覧抽出, ファイル名チェック, 一括変更、削除, フォルダ一括作成などを簡単にできるように作ったエクセルのアドインです。

検索置換・ファイル操作
エクセル一括検索・置換
ファイル操作
テキスト検索・置換
ファイル名一覧抽出
ファイル名一括変更
リストでフォルダ一括作成
重複ファイル検索
選択範囲のファイルを存在チェック
選択範囲のファイルを削除