デスクトップ用 Power Automate

Power Automate Desktop 数値を比較してExcel転記

タイトル画像
スポンサーリンク
スポンサーリンク
ピピンプイ
ピピンプイ

今回はPADに数値を設定して、Excelブックの数値と比較し、該当した場合は別のExcelブックに転記するフローをご紹介します。
例として、従業員名簿から年齢を確認し、40歳なら「介護保険料控除開始のお知らせ」を、65歳なら「介護保険料控除終了のお知らせ」のExcelブックに自動で氏名を転記して保存する処理を行います。

自動化の詳細(年齢を確認し、条件に当てはまる場合は別のExcelに自動転記します)

まず、従業員名簿から年齢を自動で確認し、40歳に該当する場合は、別のExcelブック「介護保険料控除開始のお知らせ」に自動で氏名を転記し、Excelブックに保存します。
続いて、65歳に該当する人の氏名を「介護保険料控除終了のお知らせ」に転記しExcelブックを保存します。

条件分岐フローチャート

○従業員名簿 (ワークシート名:従業員名簿)

Excel従業員名簿

○介護保険料控除開始のお知らせ

Excelブックの転記後

○介護保険料控除終了のお知らせ

介護保険料控除終了のお知らせ

今回使用するアクション

  • 特別なフォルダーを取得
  • Excelの起動
  • アクティブなExcelワークシートの設定
  • Excelワークシートから最初の空の列や行を取得
  • Excelワークシートから読み取り
  • Excelワークシートに書き込み
  • Excelを閉じる
  • For each
  • IF
  • Else IF

フローの完成形

フローの完成形
フローの完成形

フローの完成動画

1.特別なフォルダーを取得

特別なフォルダーを取得の詳しい説明は別の記事に掲載しております。該当記事はこちら

2.Excelの起動から閉じるまで

Excelデータの取込方法の詳しい説明は別の記事に掲載しております。
記事を参考にアクションの設定を行います。該当記事はこちら

ExcelDataの変数

3.For each

For each」アクションのループ処理で1行ずつ、Excelデータを変数Currentltemに格納します。

For each」は「Loop」と違い、複数の値を持つテーブルなどを、行数分1行ずつ繰り返す処理を行います。

今回はExcelブックの従業員名簿を、ループ処理で1行ずつ年齢を確認し、移動します。

Excel従業員名簿

1.アクションの「ループ」から「For eachを「Excelを閉じる」の下にドラッグします。

For each

反復処理を行う値:Excelワークシートから読み取りで生成された変数 %ExcelData%を入力します。
※今回生成された変数:Currentltem

4.IF

IF」アクションを使用して、労働者名簿の年齢が40歳に該当する場合は、別のExcelブック「介護保険料控除開始のお知らせ」に自動で氏名を転記し、Excelブックに保存する処理を設定します。

1.アクションの「条件」から「IFを「For each」の中にドラッグします。

IFのパラメーターの選択

最初のオペランドと2番目のオペランドを比較します。

最初のオペランド:For eachで生成された変数 %Currentltem[‘年齢’]% を入力します。

・演算子:「次を含む」を選択します。年齢が40歳を含む場合に処理を行います。

・2番目のオペランド:40と入力します。40歳の年齢を判断します。

2.アクションの「Excel」から「Excelの起動を「IF」の中にドラッグします。

Excelの起動のパラメーターの選択

Excelの起動:次のドキュメントを開く」を選択します。

・ドキュメントパス:40歳に該当した場合に、氏名をExcelブックに転記したいので、転記先のExcelブックの保存場所を指定します。
%SpecialFolderPath%の後ろに、ファイルの置いてあるパス(ファイルの保存場所)を入力します。

介護保険料控除開始のお知らせ

・今回は区別しやすいように、変数を「ExcelInstance40」に変更しました。

3.アクションの「Excel」から「Excelワークシートに書き込み」を「Excelの起動」の下にドラッグします。

Excelワークシートに書き込みのパラメータ選択

Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance40」を使用します。

書き込む値%Currentltem[‘氏名’]%と入力します。
※変数に格納されている、Currentltemにある、列名[‘氏名’]のデータをセルに書き込む操作を行います。

書き込みモード:セルを指定したいので「指定したセル上」を選択します。
今回はセルB5に書き込みたいので「」に「B」、「」に「5」を入力します。

介護保険料控除開始のお知らせ

4.アクションの「Excel」から「Excelを閉じる」を「Excelワークシートに書き込み」の下にドラッグします。

Excelを閉じるのパラメーターの選択

Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance40」を使用します。

Excelを閉じる前:名前を付けてドキュメンを保存」を選択します。
一人ひとり別々にExcelブックを保存します。

ドキュメントパス:氏名を転記したExcelブックの保存したい場所を指定します。
%SpecialFolderPath%の後ろに、保存したい場所のパスを入力します。

今回はファイル名に氏名を自動で入力したいので、ファイル名に%Currentltem[‘氏名’]%を追加します。

5.Else if

続いて、「Else if」アクションを設定して、65歳に該当する人の氏名を「介護保険料控除終了のお知らせ」に転記しExcelブックを保存します。

1.アクションの「条件」から「Else ifを「Excelを閉じる」の下にドラッグします。

Else ifのパラメーターの選択

最初のオペランド:For eachで生成された変数 %Currentltem[‘年齢’]% を入力します。

・演算子:「次を含む」を選択します。年齢が65歳を含む場合に処理を行います。

・2番目のオペランド:「65」と入力します。65歳の年齢を判断します。

2.アクションの「Excel」から「Excelの起動を「Else if」の中にドラッグします。

Excelの起動のパラメーターの選択

Excelの起動:次のドキュメントを開く」を選択します。

・ドキュメントパス:%SpecialFolderPath%の後ろに、ファイルの置いてあるパス(ファイルの保存場所)を入力します。

・今回は区別しやすいように、変数を「ExcelInstance65」に変更しました。

介護保険料控除終了のお知らせ

3.アクションの「Excel」から「Excelワークシートに書き込み」を「Excelの起動」の下にドラッグします。

Excelワークシートに書き込みのパラメータ選択

Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance65」を使用します。

書き込む値%Currentltem[‘氏名’]%と入力します。
※変数に格納されている、Currentltemにある、列名[‘氏名’]のデータをセルに書き込む操作を行います。

書き込みモード:セルを指定したいので「指定したセル上」を選択します。
今回はセルB5に書き込みたいので「」に「B」、「」に「5」を入力します。

介護保険料控除終了のお知らせ

4.アクションの「Excel」から「Excelを閉じる」を「Excelワークシートに書き込み」の下にドラッグします。

Excelを閉じるのパラメーターの選択

Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance65」を使用します。

Excelを閉じる前:名前を付けてドキュメンを保存」を選択します。
一人ひとり別々にExcelブックを保存します。

ドキュメントパス:氏名を転記したExcelブックの保存したい場所を指定します。
%SpecialFolderPath%の後ろに、保存したい場所のパスを入力します。

今回はファイル名に氏名を自動で入力したいので、ファイル名に%Currentltem[‘氏名’]%を追加します。

6.フローの実行

1.フローが完成したら、「実行」をクリックします。

従業員名簿の年齢が40歳「介護保険料控除開始のお知らせ」が2人、65歳「介護保険料控除終了のお知らせ」が1人のExcelブックが作成されました。

ファイル名
Excelブックの転記後
介護保険料控除終了のお知らせ

今回は年齢を確認し、該当した場合は、Excelブックに転記する方法をご紹介しました。

前回の記事
Excelブックの昇給表から、Excelブックの昇給通知書に、すべての部署を転記しましたが、今回は昇給表の部署から転記したい部署名を「入力ダイアログを表示」で入力し、特定の部署だけ昇給通知書に転記します。

前回の記事
昇給表の部署から転記したい部署名を「入力ダイアログを表示」で入力し、特定の部署だけ昇給通知書に転記する方法をご紹介します。

タイトルとURLをコピーしました