Power Automate Desktopを使って、テキストの一部を削除する方法を解説します。
特定の文字を削除したい場合
特定の文字を削除するには「テキストを置換する」アクションを使って、消したいテキストを空白(何もない値)に置き換えます。
例えば、乗換案内サイト「Yahoo!路線情報」で交通費を検索し金額を取得したとします。
【画像:Yahoo!路線情報より】
Excelに転記すると、「円」というテキストも含まれて書き込まれます。
「円」はいらないんだよな~。
PADで「円」を取り除いてみましょう~!
手順①「テキストを置換する」アクションの設定
「テキストを置換する」アクションをフローに追加します。
アクションを追加するとパラメーターの選択画面が開くので、
- 解析するテキスト
- 検索するテキスト
- 置き換え先のテキスト
の3つを設定します。
「解析するテキスト」には置き換えたいテキストが含まれているデータ範囲を設定します。
今回の置き換え対象「円」が含まれているのは0行目の4列目ですので、「%ExcelData[0][4]%」と入力しています。
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文字目以降のデータをすべて削除したいときは、「テキストの分割アクション」を使います。
手順① 「テキストの分割」アクションの設定
「テキストの分割」アクションをフローのFor EachとEndの間に追加します。
- 分割するテキストは「%CurrentItem[0]%」
※今回はデーター範囲は1列しかないですが、データ番号を指定します。一番左側のデータ列は「1」ではなく「0」になります。
- 区切り記号の種類は「カスタム」を選択します。
- カスタム区切り記号は「件」と入力します。
件という文字をキーにテキストが区切られます。実行すると新たな変数「TextList」にデータが2段分割して格納されます。
変数の値を確認すると、区切り記号の「件」を起点に、必要なテキスト部分が0番目に、不要なテキスト部分が1番目に分割されていることがわかります。
手順② テキストを数値に変換する
次に、変数「TextList」の0番目のテキストデータを数値に変換します。
変換するテキストは、変数「TextList」の0番目なので「%TextList[0]%」と入力します。
保存を押すと、TextList0行目のデータが、新たな変数「TextAsNumber」に数値として格納されます。
手順③ 置き換え後のデータをExcelワークシートに書き込む
変数「TextAsNumber」を、Excelワークシートに書き込みます。
- Excelインスタンス:「%ExcelInstance%」
- 書き込む値:「%TextAsNumber%」
- 書き込みモード:「指定したセル上」
- 列:B列に書き込みたいので「B」
- 行:2行目移行にループのたびに1行ずつ移動したいので変数「%NewVar%」を設定
設定はこれで完了です。置き換えできているか実行してみましょう。
※比較するため、A列にデータの上書きをせずB列に書き込んでいます。
まとめ
以上、「Power Automate Desktop・テキストの不要な部分を削除する方法」をお送りしました。
Power Automate Desktopでのデータテキストカット!ぜひお試しあれ~。