A子さん「先輩、PowerAppsでデータ更新したいんですけど…フォーム使わないとできないんですか?」



「いや、そんなことないよ。むしろフォーム使わない方が柔軟にできるケースも多い」



「えっ、そうなんですか!?
ボタン押したらデータ更新とか、新規登録とかやりたいんですけど…」



「それなら“Patch関数”だね。PowerAppsで一番よく使うやつ」



「Patch関数…名前は見たことあるけど、正直よく分かってないです💦」



「最初はみんなそう。
でもこれ理解すると、アプリの自由度が一気に上がるよ」
👉 PowerAppsでアプリを作成していると、
**データの更新・追加で必ず登場するのが「Patch関数」**です。
- フォームを使わずにデータを更新したい
- ボタン1つでレコードを追加したい
- 条件に応じてデータを書き換えたい
こういった処理は、すべてPatch関数で実現できます。



この記事では、
👉 Patch関数の基本的な使い方から実務での活用例まで
初心者にもわかりやすく解説していきます。
目次
1. Patch関数とは?
Patch関数は、PowerAppsで データソースのレコードを更新・作成 するための関数です。
フォームを使わずに特定の列だけを更新したい場合や、条件付きでレコードを作りたい場合に便利です。
2. Patch関数の基本構文
Patch( データソース, レコード, { 更新内容 } )
- データソース:更新先のテーブル(例:SharePointリスト)
- レコード:どのレコードを更新するか(新規の場合は
Defaults()を使う) - 更新内容:
{列名: 値}の形式で指定
3. レコードを更新する例(SharePointリスト)
例)SharePointリスト「社員一覧」の「部署」列を更新する場合
Patch(
社員一覧,
LookUp(社員一覧, ID = 1),
{ 部署: "営業部" }
)
LookUp()で更新対象のレコードを指定{ 部署: "営業部" }で更新内容を指定
4. 新しいレコードを追加する例
Patch(
社員一覧,
Defaults(社員一覧),
{
氏名: "山田太郎",
部署: "総務部",
入社日: Today()
}
)
Defaults(社員一覧)で新規作成モード- 複数列をまとめて設定可能
5. 複数レコードをまとめて更新する例
ForAll(
Filter(社員一覧, 部署 = "開発部"),
Patch(
社員一覧,
ThisRecord,
{ 部署: "企画部" }
)
)
ForAll()で複数レコードをループ- 部署が「開発部」の人をまとめて「企画部」に変更
6. Patch関数の注意点
- 必須列は必ず指定する
データソースによっては、必須列を指定しないとエラーになります。 - 数値・日付型は型に注意
Text()やValue()で型変換が必要な場合があります。 - Delegation(委任)制限に注意
SharePointやSQLでは、条件検索が委任されないと取得件数が500件(既定)までになります。
7. まとめ
- Patch関数はフォームを使わずにレコードを追加・更新できる
LookUp()やDefaults()と組み合わせて使うのが基本- 複数更新には
ForAll()が便利
PowerAppsで動的なデータ更新を実現するためには、Patch関数の理解が必須です。
まずは上記の例をコピーして試し、自分のデータソースに合わせてカスタマイズしてみましょう。
関連記事はコチラ
あわせて読みたい




【初心者向け】Power Appsで入力内容をExcelに保存する方法|Patch関数でレコード追加
「せっかくPower Appsでアプリを作ったのに、入力したデータが保存されない…」「ボタンを押したらExcelに自動で記録できたら便利なのに…」 そんな悩みは、Patch関数を使…



「Excelにデータを保存する方法については、こちらの記事で詳しく解説しています」


コメント