Power Automate Desktop(以下 PAD)を活用して、業務でよく使われる「先月の初日」と「先月の末日」を取得する方法をご紹介します。この操作は、日付操作アクションと変数を組み合わせて簡単に実現できます。
なぜ「先月の初日」と「先月の末日」が必要なのか?
例えば以下のような業務で、特定の月の期間を取得することは非常に役立ちます:
- 月次レポートの自動生成
- データフィルタリングや抽出
- 特定期間の集計処理
PADを使えば、プログラミングの知識がなくてもこのような作業を自動化できます。
必要なアクションと手順
以下の手順に従うことで、先月の初日と末日を簡単に計算できます。
1. 現在の日付を取得する
まず、フローに「現在の日付を取得」アクションを追加します。このアクションを使うことで、システムの現在の日付を取得できます。
- 「現在の日付を取得」アクションをフローに追加します。
- 出力変数(例:
CurrentDate)を確認します。この変数には今日の日付が格納されます。
例
現在が「2024年12月26日」だと仮定すると、CurrentDate には 2024-12-26 が格納されます。
2. 先月の日付を取得する
次に、「日付を変更」アクションを使用して、現在の日付を先月の日付に変換します。
- 「日付を変更」アクションを追加します。
- 入力: 先ほど取得した
CurrentDateを指定します。 - 設定: 「月を-1」に変更します。
- 出力変数(例:
LastMonthDate)を確認します。この変数には、先月の同じ日付が格納されます。
例
現在が 2024-12-26 の場合、LastMonthDate には 2024-11-26 が格納されます。
3. 先月の初日を取得する
「日付を変更」アクションを再度使用して、先月の初日を計算します。
- 「日付を変更」アクションを追加します。
- 入力:
LastMonthDateを指定します。 - 設定: 「日を1」に変更します。
- 出力変数(例:
FirstDayLastMonth)を確認します。この変数には先月の1日が格納されます。
例LastMonthDate が 2024-11-26 の場合、FirstDayLastMonth には 2024-11-01 が格納されます。
4. 先月の末日を取得する
最後に、「日付を変更」アクションを使って先月の末日を計算します。
- 「日付を変更」アクションを追加します。
- 入力:
FirstDayLastMonthを指定します。 - 設定: 「月を+1」に変更し、その後「日を-1」に設定します。
- 出力変数(例:
LastDayLastMonth)を確認します。この変数には先月の末日が格納されます。
例FirstDayLastMonth が 2024-11-01 の場合、LastDayLastMonth には 2024-11-30 が格納されます。
実際のフロー例
以下は、今回の手順を反映したフローのサンプル構成です:
- 現在の日付を取得
アクション:現在の日付を取得
出力変数:CurrentDate - 先月の日付を取得
アクション:日付を変更
設定: 月を-1
出力変数:LastMonthDate - 先月の初日を取得
アクション:日付を変更
設定: 日を1
出力変数:FirstDayLastMonth - 先月の末日を取得
アクション:日付を変更
設定: 月を+1、日を-1
出力変数:LastDayLastMonth
よくある質問
Q1: 計算結果がずれている場合の対処法は?
A: システムのタイムゾーン設定が原因の可能性があります。PADがUTCを基準にしている場合、タイムゾーン変換が必要です。
Q2: 別のフォーマットで日付を出力するには?
A: 「日付をフォーマット」アクションを使用し、yyyy-MM-dd や MM/dd/yyyy など、必要な形式に変換してください。
Q3: フローが複雑になりすぎます。簡素化する方法は?
A: フローをステージごとに分け、変数名をわかりやすくすることで管理がしやすくなります。また、コメントを追加してフローの目的を明確にしましょう。
