今回はPADに数値を設定して、Excelブックの数値と比較し、該当した場合は別のExcelブックに転記するフローをご紹介します。
例として、従業員名簿から年齢を確認し、40歳なら「介護保険料控除開始のお知らせ」を、65歳なら「介護保険料控除終了のお知らせ」のExcelブックに自動で氏名を転記して保存する処理を行います。
自動化の詳細(年齢を確認し、条件に当てはまる場合は別のExcelに自動転記します)
まず、従業員名簿から年齢を自動で確認し、40歳に該当する場合は、別のExcelブック「介護保険料控除開始のお知らせ」に自動で氏名を転記し、Excelブックに保存します。
続いて、65歳に該当する人の氏名を「介護保険料控除終了のお知らせ」に転記しExcelブックを保存します。
○従業員名簿 (ワークシート名:従業員名簿)
○介護保険料控除開始のお知らせ
○介護保険料控除終了のお知らせ
今回使用するアクション
- 特別なフォルダーを取得
- Excelの起動
- アクティブなExcelワークシートの設定
- Excelワークシートから最初の空の列や行を取得
- Excelワークシートから読み取り
- Excelワークシートに書き込み
- Excelを閉じる
- For each
- IF
- Else IF
フローの完成形
フローの完成動画
1.特別なフォルダーを取得
特別なフォルダーを取得の詳しい説明は別の記事に掲載しております。該当記事はこちら
2.Excelの起動から閉じるまで
Excelデータの取込方法の詳しい説明は別の記事に掲載しております。
記事を参考にアクションの設定を行います。該当記事はこちら
3.For each
「For each」アクションのループ処理で1行ずつ、Excelデータを変数Currentltemに格納します。
「For each」は「Loop」と違い、複数の値を持つテーブルなどを、行数分1行ずつ繰り返す処理を行います。
今回はExcelブックの従業員名簿を、ループ処理で1行ずつ年齢を確認し、移動します。
1.アクションの「ループ」から「For each」を「Excelを閉じる」の下にドラッグします。
・反復処理を行う値:Excelワークシートから読み取りで生成された変数 %ExcelData%を入力します。
※今回生成された変数:Currentltem
4.IF
「IF」アクションを使用して、労働者名簿の年齢が40歳に該当する場合は、別のExcelブック「介護保険料控除開始のお知らせ」に自動で氏名を転記し、Excelブックに保存する処理を設定します。
1.アクションの「条件」から「IF」を「For each」の中にドラッグします。
最初のオペランドと2番目のオペランドを比較します。
・最初のオペランド:For eachで生成された変数 %Currentltem[‘年齢’]% を入力します。
・演算子:「次を含む」を選択します。年齢が40歳を含む場合に処理を行います。
・2番目のオペランド:40と入力します。40歳の年齢を判断します。
2.アクションの「Excel」から「Excelの起動」を「IF」の中にドラッグします。
・Excelの起動:「次のドキュメントを開く」を選択します。
・ドキュメントパス:40歳に該当した場合に、氏名をExcelブックに転記したいので、転記先のExcelブックの保存場所を指定します。
%SpecialFolderPath%の後ろに、ファイルの置いてあるパス(ファイルの保存場所)を入力します。
・今回は区別しやすいように、変数を「ExcelInstance40」に変更しました。
3.アクションの「Excel」から「Excelワークシートに書き込み」を「Excelの起動」の下にドラッグします。
・Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance40」を使用します。
・書き込む値: %Currentltem[‘氏名’]%と入力します。
※変数に格納されている、Currentltemにある、列名[‘氏名’]のデータをセルに書き込む操作を行います。
・書き込みモード:セルを指定したいので「指定したセル上」を選択します。
今回はセルB5に書き込みたいので「列」に「B」、「行」に「5」を入力します。
4.アクションの「Excel」から「Excelを閉じる」を「Excelワークシートに書き込み」の下にドラッグします。
・Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance40」を使用します。
・Excelを閉じる前: 「名前を付けてドキュメンを保存」を選択します。
一人ひとり別々にExcelブックを保存します。
・ドキュメントパス:氏名を転記したExcelブックの保存したい場所を指定します。
%SpecialFolderPath%の後ろに、保存したい場所のパスを入力します。
今回はファイル名に氏名を自動で入力したいので、ファイル名に%Currentltem[‘氏名’]%を追加します。
5.Else if
続いて、「Else if」アクションを設定して、65歳に該当する人の氏名を「介護保険料控除終了のお知らせ」に転記しExcelブックを保存します。
1.アクションの「条件」から「Else if」を「Excelを閉じる」の下にドラッグします。
・最初のオペランド:For eachで生成された変数 %Currentltem[‘年齢’]% を入力します。
・演算子:「次を含む」を選択します。年齢が65歳を含む場合に処理を行います。
・2番目のオペランド:「65」と入力します。65歳の年齢を判断します。
2.アクションの「Excel」から「Excelの起動」を「Else if」の中にドラッグします。
・Excelの起動:「次のドキュメントを開く」を選択します。
・ドキュメントパス:%SpecialFolderPath%の後ろに、ファイルの置いてあるパス(ファイルの保存場所)を入力します。
・今回は区別しやすいように、変数を「ExcelInstance65」に変更しました。
3.アクションの「Excel」から「Excelワークシートに書き込み」を「Excelの起動」の下にドラッグします。
・Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance65」を使用します。
・書き込む値: %Currentltem[‘氏名’]%と入力します。
※変数に格納されている、Currentltemにある、列名[‘氏名’]のデータをセルに書き込む操作を行います。
・書き込みモード:セルを指定したいので「指定したセル上」を選択します。
今回はセルB5に書き込みたいので「列」に「B」、「行」に「5」を入力します。
4.アクションの「Excel」から「Excelを閉じる」を「Excelワークシートに書き込み」の下にドラッグします。
・Excelインスタンス:先ほどExcelの起動で、生成された変数「ExcelInstance65」を使用します。
・Excelを閉じる前: 「名前を付けてドキュメンを保存」を選択します。
一人ひとり別々にExcelブックを保存します。
・ドキュメントパス:氏名を転記したExcelブックの保存したい場所を指定します。
%SpecialFolderPath%の後ろに、保存したい場所のパスを入力します。
今回はファイル名に氏名を自動で入力したいので、ファイル名に%Currentltem[‘氏名’]%を追加します。
6.フローの実行
1.フローが完成したら、「実行」をクリックします。
従業員名簿の年齢が40歳「介護保険料控除開始のお知らせ」が2人、65歳「介護保険料控除終了のお知らせ」が1人のExcelブックが作成されました。
今回は年齢を確認し、該当した場合は、Excelブックに転記する方法をご紹介しました。
前回の記事
Excelブックの昇給表から、Excelブックの昇給通知書に、すべての部署を転記しましたが、今回は昇給表の部署から転記したい部署名を「入力ダイアログを表示」で入力し、特定の部署だけ昇給通知書に転記します。
前回の記事
昇給表の部署から転記したい部署名を「入力ダイアログを表示」で入力し、特定の部署だけ昇給通知書に転記する方法をご紹介します。