Power Automate Desktop

Power Automate Desktop・テキストの不要な部分を削除する方法

Power Automate Desktop

Power Automate Desktopを使って、テキストの一部を削除する方法を解説します。

特定の文字を削除したい場合

 

特定の文字を削除するには「テキストを置換する」アクションを使って、消したいテキストを空白(何もない値)に置き換えます。

例えば、乗換案内サイト「Yahoo!路線情報」で交通費を検索し金額を取得したとします。
【画像:Yahoo!路線情報より】

 

Excelに転記すると、「円」というテキストも含まれて書き込まれます。

ゆっさん
ゆっさん

「円」はいらないんだよな~。

U-ROOm
U-ROOm

PADで「円」を取り除いてみましょう~!

手順①「テキストを置換する」アクションの設定

※「テキストを置換する」アクションを設定する前に、置き換えを行いたいExcelの起動→置き換えたいデータの範囲指定→PADへのデータ取込フローを組み立てておきます。やり方は別記事にて解説しています。

Excelの起動、データの範囲指定、PADへのデータ取込

テキストを置換する」アクションをフローに追加します。

 

アクションを追加するとパラメーターの選択画面が開くので、

  • 解析するテキスト
  • 検索するテキスト
  • 置き換え先のテキスト

の3つを設定します。

 

「解析するテキスト」には置き換えたいテキストが含まれているデータ範囲を設定します。

今回の置き換え対象「円」が含まれているのは0行目の4列目ですので、「%ExcelData[0][4]%」と入力しています。

U-ROOm
U-ROOm

PADに取込後のデータ初期値は「1」ではなく「0」からスタートします!1行目を指定する場合は「0」です。

「検索するテキスト」には削除したいテキストを入れます。ここでは「」と入力します。

「置き換え先のテキスト」は・・・

ゆっさん
ゆっさん

「円」を何もない空白の状態にしたいんだろ?ってことはここは何も入力しなくてOKってことだろ?

「検索するテキスト」欄を何も入力しないで保存を押すとエラーメッセージがでます。

 

空白(何もない値)に置き換えるためには、「%”%」と入力します。

これで、置き換え後のデータが「Replaced」変数に格納されました。

手順② テキストを数値に変換する

円が無くなることで見た目は数値だけの状態になっていますが、PADはまだテキストとして認識しています。

 

テキストから数値に置き換えるには、「テキストを数値に変換」アクションを使います。

 

パラメーターの選択画面で、変換するテキストを「%Replaced%」に設定します。

数値型に置き換えられたデータは、新たな変数「TextAsNumber」に格納されます。

手順③ 置き換え後のデータをExcelワークシートに書き込む

最後に、変数「TextAsNumber」をExcelワークシートに書き込みます。

「Excelワークシートに書き込み」アクションを追加し、

 

パラメーターの選択画面を設定します。

  • Excelインスタンス:「%ExcelInstance%
  • 書き込む値:「%TextAsNumber%
  • 書き込みモード:「指定したセル上
  • 列:ExcelシートのE列に書き込みたいので「E
  • 行:Excelシートの2行目に書き込みたいので「2

設定はこれで完了です。置き換えできているか実行してみましょう。

n文字目以降を削除したい場合

 

n文字目以降を削除したいとは、例えば以下のようなWebから取得したデータで、

「件」以降のテキストを削除したい場合、

キーとなる「」が左から何文字目になるかは、データによって異なります。

このような左からn文字目以降のデータをすべて削除したいときは、「テキストの分割アクション」を使います。

【テキストの分割フローサンプル】

手順① 「テキストの分割」アクションの設定

※「テキストの分割」アクションを設定する前に、Excelの起動→データの範囲指定→PADへのデータ取込→ループ処理→変数設定までフローを組み立てています。やり方は別記事にて解説しています。

Excelの起動、データの範囲指定、PADへのデータ取込
ループ処理
変数設定

 

テキストの分割」アクションをフローのFor EachとEndの間に追加します。

 

パラメーターの選択画面を設定します。

  • 分割するテキストは「%CurrentItem[0]%
    ※今回はデーター範囲は1列しかないですが、データ番号を指定します。一番左側のデータ列は「1」ではなく「0」になります。
  • 区切り記号の種類は「カスタム」を選択します。
  • カスタム区切り記号は「」と入力します。

 

件という文字をキーにテキストが区切られます。実行すると新たな変数「TextList」にデータが2段分割して格納されます。

 

変数の値を確認すると、区切り記号の「件」を起点に、必要なテキスト部分が0番目に、不要なテキスト部分が1番目に分割されていることがわかります。

手順② テキストを数値に変換する

次に、変数「TextList」の0番目のテキストデータを数値に変換します。

テキストを数値に変換」アクションを追加し、

 

パラメーターの選択画面を設定します。

変換するテキストは、変数「TextList」の0番目なので「%TextList[0]%」と入力します。

保存を押すと、TextList0行目のデータが、新たな変数「TextAsNumber」に数値として格納されます。

手順③ 置き換え後のデータをExcelワークシートに書き込む

変数「TextAsNumber」を、Excelワークシートに書き込みます。

「Excelワークシートに書き込み」アクションを追加し、

 

パラメーターの選択画面を設定します。

  • Excelインスタンス:「%ExcelInstance%
  • 書き込む値:「%TextAsNumber%
  • 書き込みモード:「指定したセル上
  • 列:B列に書き込みたいので「B
  • 行:2行目移行にループのたびに1行ずつ移動したいので変数「%NewVar%」を設定

設定はこれで完了です。置き換えできているか実行してみましょう。

クリック▼

※比較するため、A列にデータの上書きをせずB列に書き込んでいます。

まとめ

 

以上、「Power Automate Desktop・テキストの不要な部分を削除する方法」をお送りしました。

U-ROOm
U-ROOm

Power Automate Desktopでのデータテキストカット!ぜひお試しあれ~。

この記事を書いた人
U-ROOm

システム開発会社にて、バックオフィス全般を担当する会社員です。

U-ROOmをフォローする
スポンサーリンク
シェアする
U-ROOmをフォローする
ゆるむ U-ROOm
タイトルとURLをコピーしました