2024.01.24
本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、フローの中で数値の計算をする方法をご紹介します。
たまに使う時に「あれ?どうやってやるんだっけ?」となることが多いので、備忘録として残しておきます。
コラム後半では、「数値以外の変数に計算式を使うとどうなるのか」を解説していきます。
※ Power Automate Desktop (PAD)とは?
MicrosoftがWindows10ユーザー向けに無償で提供しているPC自動化ツールです。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
インストール方法はこちら
1.数値の計算式の書き方
2.足し算以外の計算
3.文字列の足し算?
4.まとめ
PADでは、下図のような変数を指定できるテキストボックス内で数値の計算が出来ます。
しかし、単純に「1+1」と入力しても「1+1」という文字列として認識されるだけで、計算結果の「2」は取得できません。数値の計算をするには、数式を「%」で囲んであげる必要があります。「1+1」であれば、「%1+1%」といった感じです。
上記のように式を書くと、「%」で囲まれた部分の計算結果を取得できます。
例えば、下図のように入力すると、「1 + 1 = 2」という結果が得られます。
「%」で囲っていない「1 + 1 =」の部分はそのまま文字列として扱われ、
「%1 + 1%」は数式として扱われるので、計算結果の2が得られます。
この「%」で囲った部分では、変数も使うことが出来ます。
なので、このような書き方もできます。
例えば、「x=2,y=3」という変数を作って、下図のように入力すると、「x + y = 5」という結果が得られます。
このように、PADでも数値の計算をすることが出来ます。
続いて、足し算以外の式の書き方も紹介していきます。
基本的な四則演算は上記のように書くことが出来ます。
しかし、累乗の計算は演算子が用意されていないので、掛け算を繰り返し書いていくしかないというのが現状です。
ここまで数値の計算方法を解説してきましたが、変数には数値以外に文字列等が入ることもありますよね?
ここからは、数値以外の変数で計算をするとどうなるのかを解説していきます。
文字列の変数を足し算した場合、単純に文字列同士をつなげたものが得られます。
例えば、「x=あいうえお, y=かきくけこ」という変数を足し算すると、「x + y = あいうえおかきくけこ」となります。
因みに、文字列で足し算以外の演算子を使用するとエラーになりますのでご注意ください。
次に、日付の変数を足し算した場合を見てみましょう。
試しに現在の日付に1を足してみます。
結果は、元の日付から1秒だけ増えました。
では、日付の変数同士で足し算したらどうなるか見てみましょう。
文字列同士の足し算と同じ動きになりました。
日付変数の10日後や1年後を計算する際は、『日付アクション』を使用すると簡単にできます。
では、配列の変数に足し算してみたらどうなるでしょうか?
[1, 2]というリストを作成します。
そこに3を足してみましょう。
リストの変数は、表示すると要素ごとに改行されます。
この表示だと、文字列としてくっついたのかリストの要素が増えたのかわからないので、リストの変数に3を足した結果を表示してみます。
リスト変数の末尾に要素が追加されたのがわかりますね。
リスト変数に数値を足すと末尾に要素が追加されます。
因みに、足すのが文字列でも末尾に要素が追加される動きは同じです。
では、リスト変数にリスト変数を足すとどうなるか見てみましょう。
2つのリストを用意して、足し合わせてみます。
リストの末尾にリストが追加されました。
リスト変数に足し算をすると、足す要素の型に関係なく末尾に追加されるということですね。
文字列と同様、足し算以外はエラーになりますのでリストの中身を編集したい場合は、『変数アクション』のリストに関するアクションを使いましょう。
最後にデータテーブルに対して足し算をしてみます。
実行してみると…。
エラーになってしまいました。
ですが、「異なるサイズのDatatableは追加できません。」と書いてありますので足し算自体が出来ないわけではなさそうです。
足し算の対象になっているデータテーブルは3列なので、要素が3つ入ったリストを足してみます。
はい、データテーブルの末尾に1行追加されました。
データテーブルの足し算も末尾に要素が追加されます。
ただし、足すことが出来るのは要素数がデータテーブルの列数と一致しているリストだけです。
今回は、PADで四則演算する方法と、数値以外で足し算をするとどうなるのかを解説しました。
フローを作成する際、四則演算の中で特によく使うのは、足し算です。
ループ処理の中で今何回目の処理をしているのかという変数を作るのに使います。次いでよく使うのが、余りを求める計算です。どのような場面で使うのかというと、ループ処理の中で偶数回目と奇数回目で処理を分けたい場合などです。
ループ処理の中に今何回目の処理なのかという変数を用意しておいて、
その変数を2で割った余りが1の時は奇数回目、0の時は偶数回目という判断が出来ます。あとは、『条件アクション』で処理を分岐させればループ回数に応じた処理を行うことが出来ます。
特に、ブラウザからデータを取得した場合は、データテーブルの複数行が1括りのデータになっていることがよくあります。
そういった時にこの方法を使うと、データの区切りに矛盾なく加工できます。
今回紹介した計算方法は、知っておくと作れるフローの幅が広がりますので、
初めて知ったという方は是非サンプルのフローをダウンロードしてご自身で色々試してみてください。
今回作成したサンプルフローはこちら
パスワード:neDJ6fTK
あなたの疑問は解決しましたでしょうか?解決しなかった場合は直接質問も受け付けております!
執筆者にメールで質問する
記事を書いた人
株式会社ワイ・ビー・シー
営業部 開発チーム
白川
PADに関連する記事はこちら
第1回 入門編 業務を自動化して作業を楽に
第2回 活用事例 メールの添付ファイルを自動保存
第3回 活用事例 Webページからデータを抽出しエクセルに転記
第4回 活用事例 無償アカウントでもフローを共有してさらに便利に!
第5回 活用事例 フローの不具合を見つけて直す
第6回 活用事例 表形式データのDatatableを活用しよう!
第7回 活用事例 「データテーブル」アクションを使いこなそう!
第8回 活用事例 面倒な複数箇所への転記作業はまとめて自動化!
第9回 活用事例 【続】面倒な複数箇所への転記作業はまとめて自動化!
第10回 活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!
第11回 活用事例 PADで四則演算!
第12回 活用事例 条件分岐を使いこなせ!エラーを減らすフロー設計