AlteryxのFind Replaceツールでできること

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、小澤です。

以前公開したAlteryxで全角半角を変換するマクロでも利用しているFind Replaceツールですが、これがどのようなツールでどのような使い方ができるのかを、今回は解説していきたいと思います。

Find Replaceツールの使い方

Find Replaceでできること

Find Repalaceツールの基本的な使い方はその名の通り「検索と置換」のような機能になります。 まず以下のようなデータがあるとします。

それに対して、以下のように「ほげ」を「ぴよ」に置換したいというリストを用意します。

Find Replaceを使って置換を行うと、以下のようにデータ中の「ほげ」が全て「ぴよ」に置き換わっているのが確認できます。

Find Replaceツールの設定

ツールの設定は以下のようになっています。

設定はいくつかの項目に分けられます。

検索方法

まずは「Find」の中にある3つのラジオボタンです。 これらはそれぞれ検索対象の指定方法になっています。

Beginning of Field

Beginning of Fieldでは、先頭にあるもののみ、置換対象となります。 例えば、以下のようなデータと結果の組み合わせになります。

データ 検索対象 置換対象 Find Replaceの結果 備考
ほげ ほげ ぴよ ぴよ  
ほげほげ ほげ ぴよ ぴよほげ 2つ目の「ほげ」はデータの先頭ではないので置換されない
ほげ が ほげ る ほげ ぴよ ぴよ が ほげ る 同様
ほげふが ほげ ぴよ ぴよふが
ふがふが ほげ ぴよ ふがふが データ中に「ほげ」はない
ふがほげ ほげ ぴよ ふがほげ データ中に「ほげ」現れるのが先頭ではない

Any Part of Field

Any Part of Fieldでは、データ中の任意の位置のものを置換します。 文脈に依存せずに置換されるので例えば、検索対象が「京都」だった場合「東京都」に含まれる「京都」も対象になります。

データ 検索対象 置換対象 Find Replaceの結果 備考
ほげ ほげ ぴよ ぴよ  
ほげほげ ほげ ぴよ ぴよぴよ 「ほげ」が全て置換される
ほげ が ほげ る ほげ ぴよ ぴよ が ぴよ る 同様
ほげふが ほげ ぴよ ぴよふが
ふがふが ほげ ぴよ ふがふが データ中に「ほげ」はない
ふがほげ ほげ ぴよ ふがぴよ データ中の「ほげ」が現れる位置は先頭である必要はない

Entire Field

Entire Fieldは全体一致となります。

データ 検索対象 置換対象 Find Replaceの結果 備考
ほげ ほげ ぴよ ぴよ  完全一致で「ほげ」
ほげほげ ほげ ぴよ ほげほげ
ほげ が ほげ る ほげ ぴよ ほげ が ほげ る
ほげふが ほげ ぴよ ほげふが
ふがふが ほげ ぴよ ふがふが
ふがほげ ほげ ぴよ ふがほげ

検索対象

検索方法の右側の項目は対象となるデータの設定をします。

「Find Within Field」では、検索対象のデータを指定します。先ほどの「検索方法」のテーブルにおける「データ」となっていた項目に相当する列を指定します。

「Find Value」では、検索対象の文字列となる列を指定します。 先ほどのテーブルでは「検索対象」に相当します。

検索条件の指定

その下にある2つのチェックボックスでは、検索条件の指定が行えます。

項目 チェックが入ってる時の動き
Case Insenitive Find アルファベットの大文字小文字を区別しない
Match Whole Word Only 単語単位で検索する

Match Whole Word Onlyにチェックを入れた時の単語単位で判定されます。 たとえば、「a」を「the」変換するなどといった場合、チェックが入っていないと「this is a ball pen」が「this is the bthell pen」のようにballの中の「a」も変換されてしまいます。 チェックが入っていると、「this is the ball pen」のように1つの単語としての「a」のみが置換されます。 ただし、単語の区切りはスペース単位で判定されるため、日本語などの分かち書きを行わない言語での単語判定の仕組みはバージョン2018.1現在の段階では存在していません。 (「a」が正しいとか、ボールペンが英語でball penなのか?とかのツッコミはなしでお願いしますw)

出力の指定

その下の「Replace」でグループ化されている部分は、「Replace Found Text With Value」か「Append Field(s) to Record」のどちらかを選ぶ方式になっています。

Replace Found Text With Value

「Replace Found Text With Value」を選択した場合は、検索で見つかった単語を置換します。 その際の置換対象となる列を指定します。先ほどのテーブルでは「置換対象」の項目になります。

 「Replace Multiple Found Items」にチェックが入っている場合は、複数箇所見つかった場合は全て置換になります。  チェックが入っていない場合は先頭から順に見ていって一番最初に見つかったもののみになります。  例えば、「ほげ」→「ふが」という置換を指定していて「ほげほげ」が対象だとすると、チェックが入っていない場合「ふがほげ」、入っている場合は「ふがふが」に置換されます。  

Append Field(s) to Record

 「Append Field(s) to Record」を指定した場合は、置換を行うのではなく、結合を行います。  文字列の部分一致で指定可能なJoinのような動きをすると思ってください。   その下に表示されている列一覧は結合対象にする列を指定します。

最初の例で示したようなデータを置換ではなく結合するように指定すると、以下のような結果になります。

おわりに

今回は、Find Replaceツールの紹介をしました。

このツールは全角半角を変換するマクロでも実際に使っており、表記揺れの解消などにも利用可能でしょう。 また、ツールの説明文にもある通り、ExcelのVLOOKUP関数相当の使い方も可能です。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400