SharePointリストをPower Appsでアプリ化したいとき、最初は「接続すればすぐ作れそう」と感じますよね。実際、Power AppsとSharePointの連携は始めやすいです。
ただ、あとから検索できない、件数で欠ける、列が扱いにくいとなると、画面を作り直すことになります。連携そのものより、リスト設計と委任の見方でつまずくケースが多いんですよ。
PowerApps SharePoint連携は、まずリスト設計を固めて、次にPower Appsへ接続し、最後に委任と運用を確認する流れで進めると安定します。
PowerApps SharePoint連携の全体像

SharePoint連携には、リストからアプリを作る、既存アプリに接続する、SharePointフォームをカスタマイズする、という3つの入り口があります。どれも似ていますが、作るものが違うので、最初に目的を分けておくと迷いにくいです。
SharePointリストをデータソースにできる
Power Appsでは、SharePointリストをデータソースとして接続できます。
Microsoft LearnのSharePoint接続ドキュメントでは、SharePoint OnlineやオンプレミスSharePointへ接続できることが説明されています。
社内でMicrosoft 365を使っているなら、SharePointリストやMicrosoft Listsはかなり身近なデータ置き場です。
問い合わせ台帳、備品管理、申請一覧、作業タスクなど、部署内の小さな業務データを置くには始めやすいです。
ただし、Power Appsから見たSharePointはリスト連携です。本格的なリレーショナルデータベースのように、複雑な関連や厳密なトランザクションを前提にすると苦しくなります。万能DB扱いは避けたほうがいいです。
SharePoint連携は「すでにあるリストを使って、入力・閲覧・更新の画面を作る」用途に向いています。
まず小さく始めたい業務アプリでは強い選択肢です。
SharePointリストを使うメリットは、既存のMicrosoft 365運用に乗せやすいことです。ユーザーもSharePointの権限やリスト画面に慣れていることが多く、アプリ導入の説明もしやすくなります。
一方で、リストが増えすぎる、列が複雑になる、データ量が多くなると、委任警告や表示遅延が出やすくなります。そのため、最初から「SharePointで続ける業務か」を見ておくことが大切です。
リストからキャンバスアプリを作れる
最短で試すなら、SharePointリストからキャンバスアプリを作る方法があります。Microsoft Learnのリストからアプリを作る手順では、SharePointリストを起点にキャンバスアプリを生成する流れが紹介されています。
この方法では、一覧、詳細、編集のような基本画面が自動で作られます。Power Appsに慣れていない人でも、まず動くアプリを見ながら、ギャラリーやフォームの仕組みを学べます。
自動生成アプリは、そのまま完成品にするより、土台として使うのがおすすめです。生成された画面を見て、次のような式を確認します。
- ギャラリーの
Items - 編集フォームの
DataSource - 詳細画面の
Item - 保存ボタンの
SubmitForm - 検索ボックスの
Filter
ここを読むと、SharePointリストとPower Appsのつながりが見えてきます。特にギャラリーとフォームの関係を理解すると、既存アプリへの接続もかなり楽になります。
SharePointフォームのカスタマイズとは分けて考える
SharePoint連携で混同しやすいのが、キャンバスアプリとフォームカスタマイズです。どちらもPower Appsを使いますが、目的が違います。
SharePointフォームのカスタマイズは、SharePointリストの新規・編集・表示フォームをPower Appsで置き換える機能です。
Microsoft Learnのフォームカスタマイズ手順でも、Microsoft ListsやSharePointのフォームをPower Appsでカスタマイズする流れが説明されています。
違いを整理すると、次のようになります。
| 作り方 | 向いている用途 | 使う場所 |
|---|---|---|
| リストからキャンバスアプリ作成 | 独立した業務アプリ | Power Appsアプリ |
| 既存アプリにSharePoint接続 | 既存画面へリストを組み込む | Power Appsアプリ |
| SharePointフォームカスタマイズ | SharePointリストの入力画面を改善 | SharePointリスト内 |
SharePointのリスト画面を中心に使い続けるなら、フォームカスタマイズが合います。スマホ向けや専用メニュー、複数リストをまたぐ画面が必要なら、キャンバスアプリのほうが作りやすいです。

SharePointリスト設計を先に整える

Power Appsの画面を先に作りたくなりますが、SharePoint連携ではリスト列の設計があとから効いてきます。列名、列の型、検索列、権限を先に決めるだけで、後戻りがかなり減ります。
列名と列の型をアプリ向けにそろえる
SharePointリストは、画面から手軽に列を追加できます。その反面、思いつきで列を増やすと、Power Apps側の式が読みにくくなります。
列名は、短く、意味が重複しない名前にします。たとえば「対応状況」「担当者」「期限日」「重要度」のように、画面に出しても違和感がない名前が扱いやすいです。
列の型も重要です。Power Appsでよく使う列は、次のように考えると整理しやすいです。
| SharePoint列 | Power Appsでの使い方 | 注意点 |
|---|---|---|
| 1行テキスト | 検索、タイトル、コード | 検索列にしやすい |
| 選択肢 | 状態、カテゴリ | 値の参照が少し複雑 |
| 日付と時刻 | 期限、申請日 | タイムゾーンに注意 |
| ユーザー | 担当者、承認者 | DisplayNameやEmailを見る |
| 添付ファイル | 証跡、画像 | フォーム中心で扱う |
選択肢列やユーザー列は便利ですが、Power Appsでは内部的にレコードとして扱う場面があります。単純なテキスト列より式が長くなりやすいので、複雑列を増やしすぎると保守がつらくなります。
SharePointリストをPower Appsで使うなら、あとから列名を変えすぎないほうが安全です。
表示名を変えたつもりでも、式や内部名の確認が必要になることがあります。
画面で使う列と検索する列を分ける
Power Appsでは、ギャラリーに表示する列と、検索・絞り込みに使う列を分けて考えると設計しやすいです。画面に出す列は、ユーザーが状態を判断するための列です。
検索する列は、Power AppsやSharePointが効率よく絞り込むための列です。
たとえば問い合わせ管理なら、画面に出す列は次のようなものです。
- 件名
- ステータス
- 担当者
- 期限日
- 更新日
検索や絞り込みに使う列は、件名、ステータス、担当者メール、期限日などです。大量データを扱う可能性があるなら、検索に使う列を先に決めておきます。SharePoint側でビューやインデックスを考えるときにも役立ちます。
ここで大事なのは、全列検索を前提にしないことです。Power Appsで「あらゆる列を自由に検索したい」と考えると、委任の制約に当たりやすくなります。まずは検索対象を絞るほうが安定します。
権限と運用ルールを決める
SharePoint連携では、Power Apps側の画面だけでなく、SharePoint側の権限も見ます。アプリでボタンを隠していても、SharePointリストに直接アクセスできるユーザーなら、リスト側で操作できる可能性があるからです。
最低限、次の役割を分けておきます。
- 管理者: リスト列やビューを変更できる
- 作成者: アプリやフローを修正できる
- 一般利用者: アイテムを作成・更新できる
- 閲覧者: データだけ確認できる
アイテム単位権限を細かく使う設計もありますが、複雑化しやすいです。Power Apps、SharePoint、Power Automateのどこで権限を制御するのかを決めないと、あとで原因調査が難しくなります。
まずはリスト単位の権限で整理し、どうしても必要な場合だけアイテム単位の制御を検討するとよいです。業務ルールが厳しい場合は、SharePointで無理に作り切らず、Dataverseも候補に入れましょう。

Power AppsからSharePointに接続する手順

リスト設計ができたら、Power Apps側でSharePointをデータソースとして接続します。新規アプリ、既存アプリ、保存処理の3つを押さえると、SharePoint連携の実装イメージがつかみやすいです。
新規アプリはSharePointリストから作る
新しくアプリを作るなら、SharePointリストから自動生成する方法が一番わかりやすいです。接続先のサイトとリストを選ぶと、基本的な画面が生成されます。
自動生成アプリを使うと、次の流れをすぐ確認できます。
- 一覧画面でリストアイテムを表示する
- 詳細画面で選択したアイテムを見る
- 編集画面でアイテムを更新する
- 新規画面でアイテムを追加する
この段階で完成を急がず、まずは生成された式を見ます。ギャラリーのItems、フォームのDataSource、保存ボタンのOnSelectを読むと、SharePoint連携の基本が見えます。
画面の名前やコントロール名も、後から整理しておくと保守しやすいです。自動生成のままだと、画面が増えたときに何の画面かわかりにくくなることがあります。
既存アプリにはデータソースを追加する
すでにあるPower AppsアプリにSharePointをつなぐ場合は、データソースを追加します。SharePoint接続を選び、サイトURLを指定し、使うリストを選ぶ流れです。
ギャラリーへ表示するなら、まずはItemsにリスト名を指定します。
Tasks検索や絞り込みを入れるなら、FilterやStartsWithを使います。たとえばタイトルの前方一致で絞り込み、作成日順に並べるなら次のような形です。
SortByColumns(
Filter(
Tasks,
StartsWith(Title, txtSearch.Text)
),
"Created",
SortOrder.Descending
)この例は、検索対象をTitleに絞っています。いろいろな列をまとめて検索したくなりますが、最初は1列検索や状態フィルターから始めるほうが安全です。委任できる式に寄せやすく、データが増えても破綻しにくいです。
保存はSubmitFormかPatchで考える
SharePointリストへ保存する方法は、大きくSubmitFormとPatchに分けて考えます。
フォームコントロールを使っているなら、SubmitFormが分かりやすいです。
SubmitForm(EditForm1)フォームのDataSourceにSharePointリスト、Itemに編集対象を設定しておけば、保存ボタンで送信できます。添付ファイルや複数列の入力もフォーム中心で扱いやすいです。
一方で、ボタン押下で一部の列だけ更新したい場合はPatchが便利です。
Patch(
Tasks,
ThisItem,
{
Status: "完了",
CompletedDate: Today()
}
)Patchは自由度が高いぶん、列の型に合わせた値を渡す必要があります。選択肢列やユーザー列では、単なる文字列ではなくレコード形式が必要になる場面があります。列型違いは保存エラーの原因になりやすいです。
保存後は、Notifyで結果を出すとユーザーが安心できます。重要な処理では、IfErrorなどでエラー処理も検討しましょう。

委任と件数でつまずかない設計

SharePoint連携で特に後戻りしやすいのが、委任と件数です。小さなテストでは動いても、本番データが増えると検索結果が欠けることがあるので、最初から確認しておきます。
委任警告は検索漏れのサイン
Power Appsの委任は、FilterやSortの処理をデータソース側に任せられる仕組みです。委任できる式なら、SharePoint側で絞り込みや並べ替えが行われます。
逆に、委任できない式を使うと、Power Appsが取得した一部データだけで処理します。Microsoft Learnの委任概要では、データ行の制限が既定500、最大2000であることが説明されています。
つまり、データが5000件あっても、委任できない式では最初の500件や2000件だけを見て検索する可能性があります。画面上は検索できているように見えるので、検索漏れに気づきにくいです。
委任警告は「本番データで結果が欠けるかもしれない」というサインです。
テストで数十件しかない状態では問題が見えないので、件数が増えた前提で確認しましょう。
委任警告を見たら、まず次を確認します。
- どの式に警告が出ているか
- 対象データは何件まで増えるか
- 検索対象列は委任しやすい列か
- 別の関数へ置き換えられるか
- SharePoint側でビューや列を調整できるか
「今は500件もないから大丈夫」と判断するなら、その根拠も残しておきます。後から件数が増える業務では、先送りが大きな改修につながります。
SharePointで使いやすい式に寄せる
SharePoint連携では、委任できる関数や演算子を確認しながら式を作ります。SharePoint接続ドキュメントの委任表では、SharePointで委任できる関数や条件が整理されています。
実務では、まず次のような式に寄せると考えやすいです。
| やりたいこと | 使いやすい考え方 | 注意点 |
|---|---|---|
| 前方一致検索 | StartsWith | 対象列を絞る |
| 条件で絞る | Filter | 列型と演算子を見る |
| 並べ替え | SortByColumns | 列名を明確にする |
| 1件取得 | LookUp | 条件を単純にする |
たとえば、ステータスで絞り込むなら次のようにします。
Filter(
Tasks,
Status.Value = "未対応"
)選択肢列は.Valueを見るため、式が少し長くなります。ユーザー列なら、EmailやDisplayNameを使う場面があります。このあたりは列型によって委任可否も変わるため、警告を見ながら調整します。
Searchやin検索は便利ですが、SharePoint連携では委任の面で注意が必要です。全列を横断して検索するより、検索対象を決めてStartsWithや条件フィルターへ寄せるほうが実務では安定します。
件しきい値とPower Apps制限を混同しない
SharePoint連携でよく混ざるのが、Power Apps側の500/2000件と、SharePoint側のリストビューしきい値です。これは別の話です。
Power Apps側の500/2000件は、委任できない場合にアプリが扱うデータ行の制限です。一方で、SharePoint側にはリストビューしきい値があり、大きなリストではクエリやビュー設計の影響を受けます。
Microsoft LearnのSharePointリストビューしきい値に関する記事でも、大きなリストでしきい値が問題になる状況が扱われています。
整理すると、次のようになります。
| 見る場所 | 主な数字 | 意味 |
|---|---|---|
| Power Apps | 500件 | 既定のデータ行制限 |
| Power Apps | 2000件 | 設定で上げられる上限 |
| SharePoint | 5000件 | リストビューしきい値で意識する数字 |
この3つを混同すると、「2000件を超えたらSharePointが使えない」といった誤解になります。正しくは、Power Appsの式が委任できるか、SharePoint側で大きなリストを扱える設計か、両方を見ます。
データが増える見込みがあるなら、検索列、インデックス、ビューを先に考えます。さらに、アプリ側で全部を表示するのではなく、期間、状態、担当者などで最初から絞る設計にします。

SharePoint連携を運用するコツ

接続して画面が動いたあとも、運用では権限、通知、バックアップ、拡張性を見ておく必要があります。SharePointで続けるか、Dataverseを検討するかも早めに判断しておくと、作り直しを減らせます。
SharePointで始めやすいケース
SharePoint連携は、部署内で使う小さめの業務アプリに向いています。たとえば、次のようなケースです。
- 問い合わせ管理
- 備品管理
- 申請一覧
- 作業タスク
- 簡単な台帳
これらは、1つのリストを中心に画面を作れることが多いです。列数も多すぎず、権限も部署単位で整理しやすいので、SharePointの得意な範囲に収まりやすいです。
また、既存のSharePointサイトで運用しているチームなら、データ置き場を説明しやすいです。「リストにデータがあり、Power Appsは入力しやすい画面」という分け方にすると、ユーザーにも伝わりやすくなります。
ただし、小さく始めることと、雑に作ることは違います。列設計、命名、委任、権限は最初から押さえましょう。
Dataverseを検討したいケース
SharePointで始めやすい一方で、すべての業務アプリに向くわけではありません。次のような条件があるなら、Dataverseも検討したほうがいいです。
| 条件 | SharePointでの懸念 | Dataverseを考える理由 |
|---|---|---|
| 複数テーブルの関係が多い | 参照列や式が複雑になる | リレーションを設計しやすい |
| 権限が細かい | リスト権限が複雑化する | セキュリティロールを使える |
| データ量が多い | 委任やビューが難しくなる | 業務データ基盤として扱いやすい |
| 本格的な業務プロセス | リスト運用が限界になりやすい | モデル駆動型アプリも使える |
SharePointは入口として強いです。Dataverseは、業務システムとして育てるときの基盤として強いです。どちらが上というより、用途が違います。
最初にSharePointで作って、あとからDataverseへ移ることもできます。ただ、列名やデータ構造が乱れていると移行が大変です。将来の拡張が見えているなら、最初からデータ構造を丁寧に作っておきましょう。
Power Automateと組み合わせる
SharePoint連携では、Power Automateと組み合わせる場面も多いです。たとえば、アイテムが作成されたらTeamsへ通知する、承認依頼を送る、期限前にリマインドする、といった処理です。
Power Appsは入力画面、SharePointはデータ置き場、Power Automateは自動処理、と役割を分けると設計しやすくなります。
ただし、何でもフローに逃がすと、どこで何が起きているか分かりにくくなります。保存直後にユーザーへ結果を返す処理はPower Apps側、裏側の通知や承認はPower Automate側、というように責任を分けるのが現実的です。
運用時に見るポイントは、次の4つです。
- 誰がリスト列を変更できるか
- アプリの修正者は誰か
- フローが失敗したとき誰が見るか
- データが増えたらどこで見直すか
この4つを決めておくと、属人化を防ぎやすいです。PowerApps SharePoint連携は、作るよりも運用継続で差が出ます。

PowerApps SharePoint連携に関するよくある質問
まとめ
PowerApps SharePoint連携は、SharePointリストを使って業務アプリを素早く作れる便利な方法です。ただし、接続手順だけで進めると、あとから列設計、委任、権限、件数でつまずきやすくなります。
まずはリスト設計を整え、Power Appsへ接続し、委任警告と本番データ量を確認しましょう。小さく作って、実データに近い条件で動きを見るところから始めるのが一番堅実です。

