はじめに
案件情報をSharePointリストに入力する運用としましたが、標準フォームでは以下のような課題がありました。
- 手入力による誤入力
- 表記ゆれ
- 同じ内容の繰り返し入力
- 入力項目が多く分かりづらい
そこでPower AppsでSharePointフォームをカスタマイズし、入力負荷の軽減と入力品質の向上を図りました。
本記事では実際に利用した以下3つのカスタマイズ方法を紹介します。
- チーム外ユーザーでも入力できるフォーム作成
- 他項目の回答に応じた自動補完
- 他SharePointリストとの連携による選択肢表示
① チーム外ユーザーでも入力できるフォームを作成
SharePointリストは通常、権限を持つユーザーしか入力できません。
しかし案件開始時には営業担当者しか把握していない情報も存在するため、営業担当者にも入力してもらう必要がありました。
そこで SharePoint Forms を利用し、営業担当者には最低限の案件情報のみ入力してもらう運用にしました。
効果
- URL共有だけで入力可能
- ヒアリング工数削減
- 案件情報を早期収集可能
Tips① SharePoint Formsを作成したい
① SharePointリストを開く
対象のSharePointリストを開き、「Forms」を選択します。
② フォームを作成
「新しいフォームを作成する」を選択します。
③ URLを共有
作成したフォームのURLを共有するだけで利用できます。
※ SharePoint Forms は簡易入力フォームのため、後述するような高度なカスタマイズはできません。
② Power Appsで入力フォームをカスタマイズする
①で収集した案件情報には未入力項目が存在するため、案件担当者が後から補完します。
そこで Power Apps を利用して入力しやすいフォームを作成しました。
Tips② 他設問の回答に応じて初期値を自動補完したい
やりたいこと
ある項目の入力内容から別項目の値がほぼ決まる場合、自動で初期値を設定します。
イメージ
| 役職 | 自動補完される時間単価 |
|---|---|
| 主任 | 4,000 |
| 係長 | 6,000 |
| 課長 | 8,000 |
| 部長 | 10,000 |
利用者は必要に応じて値を修正できます。
効果
- 入力工数削減
- 入力漏れ防止
- 柔軟な運用
実装方法
① Power Appsでフォームを編集
SharePointリストから
「統合」→「Power Apps」→「フォームのカスタマイズ」
を選択します。
② 自動補完したい列のDataCardを選択
例では列3の入力内容から列4を自動補完します。
③ Defaultプロパティを設定
画面右側のプロパティの「詳細設定」の「Default」を以下のように設定します。
If(
DataCardValue3.Selected.Value = "主任", 4000,
DataCardValue3.Selected.Value = "係長", 6000,
DataCardValue3.Selected.Value = "課長", 8000,
DataCardValue3.Selected.Value = "部長", 10000,
Blank()
)
※ DataCardValue3 は参照元コントロール名に置き換えてください。
Tips③ 他SharePointリストの値を選択肢として表示したい
やりたいこと
案件名を手入力ではなく、別リストから選択できるようにします。
イメージ
案件一覧リスト
| FY | 案件名 |
|---|---|
| 2026 | システム更改 |
| 2026 | ネットワーク刷新 |
| 2025 | 基盤更新 |
入力フォーム
▼案件名
- システム更改
- ネットワーク刷新
効果
- 表記ゆれ防止
- 誤入力防止
- 入力時間短縮
実装方法
① データソースを追加
Power Apps左メニューから
「データ」→「データの追加」→「SharePoint」
を選択します。
② 参照先リストを追加
③ ComboBoxのItemsを設定
選択肢を編集したい列のDataCardを選択し、プロパティの「Item」を以下のように設定します。
Filter(
[@参照元リスト名],
FY = 年度入力欄.Text
)
例:
Filter(
[@案件一覧リスト],
FY = DataCardValue1.Text
)
※DataCardValue1は入力フォームの年度入力欄
④ 表示列を設定
ComboBoxを選択し、
「ディスプレイ」 → 「編集」
から、参照元リストの列名(主要なテキスト)や内部列名(SeachField)を選択します。
Tips④ 他SharePointリストの複数列を選択肢として表示したい
やりたいこと
案件によって選択できる組織が異なるため、案件ごとに候補を切り替えます。
イメージ
案件一覧リスト
| 案件名 | 組織1 | 組織2 | 組織3 |
|---|---|---|---|
| システム更改 | 営業部 | 開発部 | 管理部 |
入力フォーム
案件名で「システム更改」を選択した場合
▼担当組織
- 営業部
- 開発部
- 管理部
実装方法
① データソースを追加
②-2と同様にSharePointリストを追加します。
② ComboBoxのItemsを設定
対象案件のレコードを取得し、複数列を選択肢へ変換します。
※LookUpで取得する行数は1行である必要があります。
With(
{
rec: LookUp(
[@参照先リスト名],
参照先フィルター列名 = ComboBox案件.Selected.Title
)
},
Filter(
Table(
{Value: rec.参照先列名1},
{Value: rec.参照先列名2},
{Value: rec.参照先列名3}
),
!IsBlank(Value)
)
)
※ComboBox案件は入力フォームの案件名入力欄
おわりに
今回はPower Appsを利用してSharePointフォームを改善した事例を紹介しました。
特に以下のようなケースでは効果を実感しやすいと思います。
- 手入力が多い
- 表記ゆれが発生する
- 他リストの情報を参照したい
- 入力項目が多い
次回は、登録したSharePointリストの情報をPower Automateで取得し、Power Automate Desktopへ連携してExcel様式を自動生成する方法を紹介します。