Power AutomateでExcelの複数セルに「同じ内容」を一斉記入する方法
「Excel(エクセル)の特定の範囲のセルに、毎回同じ文字(例えば『承認済み』とか『未着手』とか)を手作業で入力しているんだけど、この作業をPower Automate(パワー・オートメイト)で自動化できないかな?」「Power Automateを使って、Excelの複数のセルに、自動的に同じ日付を一斉に入力したいんだけど、どうすればいいの?手作業でコピー&ペーストするのは面倒だな…」
こんな風に感じたことはありませんか? Excelファイルは、報告書の作成、進捗管理表の更新、在庫リストの管理など、日々の業務で広く使われています。その中で、ある一定の範囲のセルに、毎回同じ内容(例えば「完了」「未提出」「OK」といったステータス、あるいは特定の日付など)を一斉に入力する作業は、非常に頻繁に行われる定型作業です。しかし、これを手作業で行うのは、セルの数が多ければ多いほど時間も手間もかかり、入力ミスも発生しがちですよね。
Microsoft Power Automateを使えば、SharePoint(シェアポイント)やOneDrive(ワンドライブ)に保存されているExcelファイルに対して、複数のセルに同じ内容を自動的に、かつ一斉に書き込む仕組みを簡単に構築できます。これにより、手作業でのデータ入力作業から解放され、Excelファイルの更新やレポート作成の効率と正確性が飛躍的に向上します。
Excelの複数セルに「同じ内容」を一斉記入ってどんなこと?その大きなメリット
Power AutomateでExcelの複数セルに「同じ内容」を一斉記入するとは、あなたが指定したExcelファイル内の特定の範囲のセル(例えばA1からA10まで、あるいはB列全体など)に対して、設定した文字列や数値、日付といった同一の情報を自動的に書き込む操作のことです。これは、特定のステータスを一斉に更新したり、同じ情報を複数の場所に自動入力したりする際に使われます。
なぜ自動で「一斉記入」したいのか?その主なメリット
このフローを自動化することには、たくさんの良い点があります。
- 手作業の劇的な削減と時間節約:Excelファイルを開き、目的のセル範囲を選び、同じ内容をコピー&ペーストしたり、フィルハンドルでドラッグしたりする手間が一切なくなります。これにより、日々のルーティン作業にかかる時間と労力が大幅に削減されます。
- 入力ミスの根本的削減とデータ品質の向上:手作業での入力では、どうしても範囲の選択ミスや、異なる内容を入力してしまうといったミスが発生しがちです。自動化することで、これらの人為的なミスがゼロになり、Excelファイルに記録されるデータの正確性と信頼性が向上します。これにより、データの一貫性が保たれ、後の分析や報告における信頼性が高まります。
- レポートやダッシュボードの定型化・効率化:毎月、毎週更新するレポートやダッシュボードの特定の固定欄や、ステータス欄に自動で最新の日付や「確認済み」といった情報を入力できます。これにより、レポート作成の最終段階にかかる手間を大幅に削減し、常に最新で正確なレポートが準備された状態を維持できます。
- 業務プロセスの効率化と標準化:Excelファイルへの一斉記入作業が自動化されることで、その前後の業務プロセスも効率的につなげることができます。例えば、Power Automateでデータが承認された後に、自動でExcelファイルの「承認状況」列に「承認済み」と一斉記入し、その後のレポート生成フローへ進む、といった形で業務全体を効率化できます。
Excelの複数セルに「同じ内容」を一斉記入するための主要なアクションと使い分け
Power AutomateでExcelの複数セルに同じ内容を一斉記入するには、Excelファイルがどこにあるか、そしてどのような操作をしたいかによって、主に二つのアプローチがあります。
1. クラウド版Power Automate(クラウドフロー)でExcelを操作する
- 得意なこと:
- SharePointやOneDrive上のExcelファイルを操作する。
- 特定の範囲のセルにデータを書き込む。
- Excelファイル内のテーブル(表)の特定の列にデータを書き込む。
- 主なアクション:
- 「ワークシートに書き込みます (Excel Online (Business))」: 特定のセル(例: “A1″)にデータを書き込みます。複数のセルに書き込む場合は、このアクションをループの中で使うことになります。
- 「キー列の値で一致する行を更新します (Excel Online (Business))」: Excelファイル内のテーブルに、同じ内容を特定の列に書き込む場合に使用できます。これは「Apply to each」ループと組み合わせます。
- 制限:
- 単一の「範囲」を指定して一括で値を書き込む直接的なアクションは、クラウド版のExcelコネクタにはありません。そのため、範囲に書き込むにはループを使うことになります。
2. Power Automate Desktop(デスクトップフロー)でExcelを操作する
- 得意なこと:
- パソコンのローカルディスクやネットワークドライブにあるExcelファイルを操作する。
- ExcelアプリのUI(ユーザーインターフェース)を直接操作すること。例えば、セル範囲を選択してコピー&ペーストする、フィルハンドルをドラッグする、といった人間が行うような操作を自動化できます。
- Excelアプリの特定の範囲に直接値を書き込むアクションを持っています。
- 主なアクション:
- 「Excelの起動」: Excelアプリを起動し、特定のファイルを開きます。
- 「Excelワークシートに書き込み」: 特定のセル、または特定のセル範囲(例: A1:A10)に直接データを書き込むことができます。これが、デスクトップ版での一斉記入の主要なアクションとなります。
- 「Excelワークシートにデータを貼り付け」: コピーしたデータを範囲に貼り付けます。
Excelの複数セルに「同じ内容」を一斉記入する具体的な手順
ここでは、それぞれのPower Automateのバージョンで、Excelの複数セルに同じ内容を一斉記入する具体的な手順をステップバイステップで解説します。
方法1:クラウド版Power Automateで実行する(SharePoint/OneDrive上のファイル向け)
この方法は、SharePointやOneDriveに保存されたExcelファイルに対して、特定の範囲のセルに同じ内容を書き込む際に適しています。直接範囲を指定するアクションがないため、「ワークシートに書き込みます」アクションをループで複数回実行することになります。
事前準備:Excelファイルを作成
- SharePointサイト(例: 「共有ドキュメント」ドキュメントライブラリ)に新しいExcelファイルを作成し、ファイル名を「進捗管理表.xlsx」など、分かりやすい名前にします。
- このExcelファイルの中に、データを書き込みたい「ワークシート名」(例: 「Sheet1」)を確認しておきます。
ステップ1:Power Automateで新しいフローを作成します。
今回は、手動でボタンを押してExcelにデータを記入するフローを例にします。決まった時間に自動実行したい場合は「スケジュール済みクラウド フロー」を選びます。
- ウェブブラウザでPower Automate(https://www.google.com/search?q=make.powerautomate.com)にアクセスし、あなたのMicrosoft 365アカウントでサインインします。
- 左側のメニューから「作成」をクリックします。
- 「インスタント クラウド フロー」を選択してください。
- フローに分かりやすい名前を付けます(例:「Excelセル一斉記入」)。
- 「フローのトリガーを選択してください」の検索ボックスに「手動」と入力し、「フロー ボタンがクリックされたとき (V2)」を選択してください。
- 「作成」ボタンをクリックします。
ステップ2:書き込みたい「同じ内容」を変数として用意します。
Excelの複数のセルに書き込みたい同一の内容を、変数として設定しておくと、後から変更しやすくなります。
- 「フロー ボタンがクリックされたとき (V2)」トリガーの下に「新しいステップ」をクリックします。
- 検索ボックスに「変数」と入力し、「変数を初期化します」アクションを選択してください。
- 名前:
ContentToFill - 種類:
文字列(数値や日付を書き込む場合でも、ここでは文字列として初期化します) - 値: 例えば「承認済み」と入力します。
- 名前:
ステップ3:書き込みたい「セルの範囲」を設定し、ループで書き込みます。
特定の範囲(例: A1からA5)に書き込むためには、その範囲の各セルのアドレス(A1, A2, A3…)を生成し、ループの中で「ワークシートに書き込みます」アクションを繰り返します。
- 「変数を初期化します」アクションの下に「新しいステップ」をクリックします。
- 検索ボックスに「変数」と入力し、「変数を初期化します」アクションを再度追加します。
- 名前:
CurrentRow - 種類:
整数 - 値:
1(書き込みを開始したい行番号)
- 名前:
- 「変数を初期化します」アクション(CurrentRow)の下に「新しいステップ」をクリックします。
- 検索ボックスに「制御」と入力し、「Do until」(繰り返す)アクションを選択してください。
- Do untilの条件: 「CurrentRow」(動的なコンテンツから選択)、「次と等しくない」(演算子)、「6」(終了したい行番号 + 1)を設定します。これにより、CurrentRowが6になるまで、つまり行1から行5まで繰り返します。
- 「Do until」ループの中に「アクションの追加」をクリックします。
- 検索ボックスに「Excel Online」と入力し、「ワークシートに書き込みます (Excel Online (Business))」アクションを選択してください。
- アクションの設定を行います。
- 場所: Excelファイルが保存されているSharePointサイトのURLを選択または入力します。
- ドキュメント ライブラリ: Excelファイルが保存されているドキュメントライブラリ(例: 「共有ドキュメント」)を選択します。
- ファイル: データ転記先のExcelファイル名(例: 「進捗管理表.xlsx」)を選択します。
- ワークシート名: データを書き込みたいExcelシートの名前を入力します(例: 「Sheet1」)。
- アドレス: ここに動的なセルアドレスを入力します。
- 「式」タブを選択し、以下のように入力してください。これにより、
A1,A2,A3…のようにアドレスが変化します。 concat('A', string(variables('CurrentRow')))- 式の解説:
concat()関数で「A」という文字と、現在の行番号(CurrentRow変数をstring()で文字列に変換したもの)を結合しています。
- 「式」タブを選択し、以下のように入力してください。これにより、
- 値: 繰り返し書き込みたい内容です。先ほど設定した変数「
ContentToFill」を動的なコンテンツとして選択します。
- 「ワークシートに書き込みます」アクションのすぐ下(Do untilループの中)に「新しいアクション」をクリックします。
- 検索ボックスに「変数」と入力し、「変数を増やす」アクションを選択してください。
- 名前:
CurrentRow - 値:
1(行番号を1ずつ増やします)
- 名前:
- フローを保存してテストします。画面右上の「保存」ボタンをクリックします。フローを手動でテスト実行し、Excelファイルを開いて、指定した範囲のセルにデータが正確に一斉記入されているかを確認してください。
方法2:Power Automate Desktopで実行する(PC上のExcelアプリ向け)
この方法は、パソコンにインストールされているExcelアプリを操作して、特定の範囲のセルに同じ内容を一斉に書き込む際に適しています。
事前準備:ExcelファイルをPCのどこかに保存
- PCのローカルディスク(例: ドキュメントフォルダ)に、データを書き込みたいExcelファイルを保存しておきます。ファイル名を「進捗管理表_ローカル.xlsx」など、分かりやすい名前にします。
ステップ1:Power Automate Desktopで新しいフローを作成します。
- Power Automate Desktopアプリを起動し、あなたのMicrosoft 365アカウントでサインインします。
- ホーム画面から「新しいフロー」をクリックして、新しいデスクトップフローを作成します。フロー名を「Excelセル一斉記入_PAD」など、分かりやすい名前にします。
ステップ2:Excelアプリを起動し、データを書き込みます。
- フローデザイナーの左側にある「アクション」の一覧から「Excel」カテゴリを展開し、「Excel の起動」アクションをフローの実行したい場所にドラッグ&ドロップします。
- Excelの起動: 「次のドキュメントを開く」を選択します。
- ドキュメントのパス: 書き込みたいExcelファイルのフルパス(例:
C:\Users\YourUser\Documents\進捗管理表_ローカル.xlsx)を入力します。 - インスタンスを表示する: 「はい」を選択しておくと、Excelが画面上に表示され、操作を確認しやすくなります。
- 「Excel の起動」アクションの下に「新しいアクション」を追加します。
- 左側のアクション一覧から「Excel」カテゴリを展開し、「Excel ワークシートに書き込み」アクションをドラッグ&ドロップします。
- アクションの設定を行います。
- 書き込む値: 書き込みたい同じ内容を入力します(例: 「承認済み」)。
- 書き込みモード: 「指定したセル」を選択します。
- 列: 「A」と入力します(A列に書き込む場合)。
- 行: 「1」と入力します(1行目から書き込みたい場合)。
- 【ポイント】: 「指定したセル」に「A1」のように範囲を指定すると、その範囲全体に書き込まれます。例えば「A1:A5」と入力すると、A1からA5まで「承認済み」と一斉に書き込まれます。
- 「Excel ワークシートに書き込み」アクションの下に「新しいアクション」を追加します。
- 「Excel を閉じる」アクションをドラッグ&ドロップします。
- 更新前にブックを保存する: 「はい」を選択します。
- デスクトップフローを保存します。作成したデスクトップフローを保存します。
ステップ3:デスクトップフローをテストします。
- フローデザイナー画面のツールバーにある「実行」(再生ボタン)をクリックします。
- フローが実行され、Excelファイルが開き、指定した範囲のセルにデータが正確に一斉記入され、保存されることを確認します。
Excelの複数セルへの一斉記入を確実・スムーズに実現するための「大切なポイント」
Power AutomateでExcelの複数セルに同じ内容を一斉記入するフローは非常に便利ですが、そのメリットを最大限に引き出し、スムーズな運用を実現するためには、いくつかの重要な注意点を理解し、適切に対処する必要があります。
1. Excelファイルの「テーブル(表)」と「セル範囲」の使い分けを理解する
- クラウド版の「表に行を追加します」や「行を更新します」アクションは、Excelファイル内で「テーブル」として設定された範囲にのみ機能します。単なるセル範囲や結合セルには使えません。
- クラウド版の「ワークシートに書き込みます」アクションは、単一のセルアドレス(例: “A1″)に書き込みます。複数のセルに書き込む場合は、上記のようにループを使ってセルアドレスを動的に生成する必要があります。
- デスクトップ版の「Excelワークシートに書き込み」アクションは、単一のセル、またはセル範囲(例: “A1:A5″)を直接指定して一括で書き込むことができます。
2. 書き込む「内容」のデータ型に注意する
Excelのセルには、数値、文字列、日付など、様々なデータ型があります。Power Automateから書き込むデータが、そのセルのデータ型や、あなたが期待する形式に合っているかを確認することが重要です。
- 対策: 例えば、Excelのセルが「数値」形式なのにPower Automateから「文字列」を送ってしまうと、Excel上で計算ができなくなる場合があります。Power Automateの「式(Expression)」や「作成」(Compose)アクションを使って、データを適切なデータ型に変換する処理(例:
string(),int(),formatDateTime()など)を挟むことを検討してください。日付を書き込む場合は、formatDateTime()関数でExcelが認識できる日付形式に整形することが特に重要ですし、時刻情報を含めるかどうかも確認が必要です。
3. Excelファイルが「開かれている」状態に注意する
更新したいExcelファイルが他のユーザーによってExcelアプリ(特にデスクトップ版Excel)で開かれている場合、ファイルがロックされてしまい、Power Automateからの書き込みが失敗することがあります。
- 対策:
- フローの実行時間を、そのファイルが使われていない時間帯(例えば深夜や早朝など)に設定することを検討してください。
- クラウド版の場合: Excel Online (Business) コネクタは、共同編集中のファイルにも書き込めますが、競合が発生する可能性はゼロではありません。
- デスクトップ版の場合: ファイルを操作する前に「ファイルが存在するか確認」アクションでファイルのロック状態を確認したり、「エラー発生時にブロックを実行」アクションでエラーハンドリングを設定し、ファイルがロックされていた場合に、エラー通知を送ったり、数分待ってから再試行したりするロジックを組み込むことも有効です。
4. 権限が適切であることを確認する
フローがExcelファイルにアクセスし、書き込むためには、フローが使用するアカウントが、そのExcelファイルが保存されているSharePointやOneDriveの場所に対して、「編集」権限(または「共同作成者」以上の権限)を持っている必要があります。権限が不足していると、書き込み操作が拒否されてエラーになります。
5. エラー通知と監視を設定する
Excelへのデータ転記は、データに直接影響を与える重要な操作です。予期せぬ問題(例: Excelファイルが見つからない、ワークシート名が違う、ネットワークエラーなど)でフローが失敗した場合に備えて、必ず「エラーハンドリング」を設定し、Power Automateのフローがエラーになったことを、自動でメールやTeams(チームズ)に通知する仕組みを構築しておきましょう。これにより、問題発生時にすぐに気づき、対応することができます。
6. テスト環境での十分な検証
本番環境で実際にExcelファイルへのデータ転記を行う前に、必ずテスト環境でフローを十分にテストしてください。様々なシナリオ(例: 書き込み先のセルに既にデータがある場合、書き込むデータが空の場合、ファイルがロックされている場合など)を想定してテストを行うことで、本番稼働後のトラブルを未然に防ぎ、スムーズな運用を保証できます。
7. デスクトップ版(PAD)利用時の追加の考慮事項
- PCの起動状態: デスクトップフローを実行するには、PADがインストールされたパソコンが起動し、サインインしている必要があります。自動実行(無人実行)には有償ライセンスが必要です。
- 画面解像度やスケーリング: デスクトップフローは画面に依存するため、フローを開発した時と実行する時で、パソコンの画面解像度やディスプレイの拡大縮小設定(スケーリング)を同じ設定に固定することが非常に重要です。
- UI要素の安定性: ExcelのUI要素(セルの選択、ボタンのクリックなど)を操作する場合は、それらのUI要素の識別子(セレクター)が安定していることを確認し、必要であれば最適化してください。
Power AutomateでExcelの「定型データ入力」を自動化し、作業時間を大幅に短縮しよう!
Power AutomateでExcelの複数セルに同じ内容を一斉記入する方法は、レポート更新やデータ集計など、日々の定型作業を効率化するための強力な手段です。
- クラウド版(Excel Online (Business) コネクタ): SharePoint/OneDrive上のExcelファイルに対して、「ワークシートに書き込みます」アクションをループの中で使って、複数のセルに同じ内容を書き込みます。
- デスクトップ版(Power Automate Desktop): パソコン上のExcelファイルに対して、「Excelワークシートに書き込み」アクションを使って、セル範囲を直接指定して一斉記入できます。
どちらの方法を選ぶ場合でも、Excelファイルの準備(表やワークシートの正確な指定)と、データ型の整合性、ファイルがロックされていないかの確認、そしてエラーハンドリングと十分なテストが成功の鍵となります。これらの知識と手順を上手に活用して、あなたのExcelファイルへのデータ入力プロセスを自動化し、日々の業務をよりスムーズで効率的なものに変えてくださいね。

