【MICHIRU RPA 小技集】文字列の表記ゆれを修正する方法

MICHIRU RPAで取得したデータに表記ゆれがあり、困った経験はありませんか?
人間の目では認識できても、RPAでは別の文字列として扱われるため、検索・突合・振り分けなどの処理が思った通りにいかない原因になってしまいます。
例えば、次のようなケースです。

  • 姓と名の間のスペースが、全角/半角で統一されていない
  • 株式会社、(株)、㈱など、複数パターンの表記が混在している
  • 電話番号の先頭に必要な「0」が欠けている

今回の「MICHIRU RPA小技集」では、このような表記ゆれを修正したいときに便利な機能を3つご紹介します。
ぜひ日々の業務にお役立てください!

部分的に置換する(文字列中の特定文字列を置換)

対象の文字列内で指定の文字を別の文字に置き換える操作です。
空白に置き換えれば指定の文字を削除する操作としても活用できます。

山田 太郎山田 太郎に修正する

姓と名の間の全角スペースを半角スペースに置換します。
対象の氏名はデータ保存先「氏名」に保存されているものとします。

  • 操作メニューの「関数/スクリプト」から「追加スクリプト」の操作を追加し、「文字列操作」の「文字列中の特定文字列を置換」を選択
  • 次のように設定
    ・対象文字列:[@氏名]
    ・検索文字列:" "(全角スペース前後の”は省略可)
    ・置換文字列:" " (半角スペース前後の”は省略可)
    ・保存先:任意のデータ保存先 (対象文字列のデータ保存先と一致させると上書き保存)

実行すると、対象文字列に全角スペースが含まれる場合には、半角スペースに置換され、設定したデータ保存先に保存されます。
対象文字列内に全角スペースが含まれない場合は、対象文字列がそのままデータ保存先に保存されます。

山田 太郎山田太郎に修正する

姓と名の間の半角スペースを削除します。
対象の氏名はデータ保存先「氏名」に保存されているものとします。

  • 操作メニューの「関数/スクリプト」から「追加スクリプト」の操作を追加し、「文字列操作」の「文字列中の特定文字列を置換」を選択
  • 次のように設定
    ・対象文字列:[@氏名]
    ・検索文字列:" "(半角スペース前後の”は省略可)
    ・置換文字列:""(または空白)
    ・保存先:任意のデータ保存先(対象文字列のデータ保存先と一致させると上書き保存)

実行すると、対象文字列に半角スペースが含まれる場合には削除され、設定したデータ保存先に保存されます。
対象文字列内に半角スペースが含まれない場合は、対象文字列がそのままデータ保存先に保存されます。

まとめて置換する(変換ファイルを使い文字列を置換)

あらかじめ用意した変換ファイルを使い、文字列を置き換える操作です。
複数の表記ゆれのパターンを設定しておくことができるので、1つの操作でまとめて表記を整えたい時に便利です。

変換ファイルのサンプル(文字変換.csv)は、次の場所から取得できます。
スクリプトタブスクリプトファイル保存ディレクトリを開くscriptフォルダ文字変換.csv
文字変換.csvを複製して、任意の場所に保存しておくとよいでしょう。

(株) (株) 株式会社に統一する

株式会社を表す複数の表記パターンを「株式会社」に置換します。
対象の会社名はデータ保存先「会社名」に保存されているものとします。

  • 下図を参考に、変換ファイル(csv)に置換対象の文字列と置換後の文字列を入力して任意の場所に保存します。


  • 操作メニューの「関数/スクリプト」から「追加スクリプト」の操作を追加し、「文字列操作」の「変換ファイルを使い文字列を置換」を選択
  • 次のように設定
    ・対象文字列:[@会社名]
    ・変換ファイル:変換ファイルのファイルパス
    ・文字コード:空白
    ・保存先:任意のデータ保存先(対象文字列のデータ保存先と一致させると上書き保存)

実行すると、対象文字列に(株) 、(株)、 ㈱のいずれかが含まれる場合は「株式会社」に置換され、設定したデータ保存先に保存されます。
対象文字列内に(株) 、(株)、 ㈱のいずれも含まれない場合は、対象文字列がそのままデータ保存先に保存されます。

欠けている文字を補う(条件移動とデータ保存)

「条件移動」と「データ保存」を使って、必要な文字が欠けている場合に付け足すことができます。

901234****の先頭に0を付け足して0901234****にする

電話番号の先頭に0が付いているかどうかを判定して、欠けている場合には0を付け足して保存します。
対象の電話番号はデータ保存先「電話番号」に保存されているものとします。

STEP
「データ保存」を追加

先頭に0がない場合に、0を付けるための操作を追加します。

  • 操作メニューの「関数/スクリプト」の「データ保存」の操作を追加
  • 次のように設定
    ・保存値:"0" & [@電話番号]
    ・保存先:任意のデータ保存先(対象文字列のデータ保存先と一致させると上書き保存)

    文字の連結のルールについてはこちらをご覧ください。
STEP
「条件移動」を追加

データ保存先に保存されている電話番号の先頭に0が付いているかどうかを判定して、その後の処理へ移動する設定をします。

  • 1番の操作の前に、操作メニューの「実行順の制御」の「条件移動」の操作を追加
  • 次のように設定
    ・対象となるデータ保存先:[@電話番号]
    ・判断条件:文字:前方一致の場合
    ・値:0
    ・「条件:○」の移動先操作番号:3
    ・「条件:×」の移動先操作番号:2

    ※ 移動先操作番号の操作が存在しない場合、タスク一覧に「※設定値異常」と表示されますが、該当番号の操作を追加すると解消されます。

実行すると、電話番号の先頭に0が付いていない場合に0を付け足して保存します。

条件移動の設定方法や使用できる条件の詳細はヘルプセンターでご紹介しています。
詳しくはこちらをご覧ください。

補足解説

条件移動と条件分岐の使い分けについて

今回の、電話番号の先頭の0を補う事例では、条件に当てはまるとき(0が付いているとき)にその後の処理をスキップできる「条件移動」を使用しました。
一方、条件に当てはまるとき、当てはまらないとき、それぞれに異なる処理が必要な場合は「条件分岐」を使うとよいでしょう。

まとめ

表記ゆれは、後工程の検索・突合・振り分けで気づかないまま失敗する原因になりがちですが、今回ご紹介した3つの方法を活用すれば、その後に続く処理の精度を上げられます。

  • スペースや記号など、ピンポイントに直したい場合は「文字列中の特定文字列を置換」で部分的に置換
  • 複数パターンを一括で統一したい場合は「変換ファイルを使い文字列を置換」でまとめて置換
  • 条件付きで文字を付与したい場合は「条件移動とデータ保存」で欠けた文字を補う

目的にあった方法を選んで、表記ゆれにも対応できる、より安定した自動操作セットを作成してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
目次