アーティサン株式会社
  • SharePoint

SharePoint運用Tips:選択肢・参照列の一覧を更新・削除したらどうなる? 参照列編|リレーションシップの動作(オフ/制限削除/連鎖削除)別の挙動を検証

この記事の3行要約

  • SharePointリストの参照列(Lookup列)では、参照先マスタリストの項目を更新・削除すると保存済みデータの挙動が変わる
  • リレーションシップの動作設定(オフ・制限削除・連鎖削除)ごとに、実際の検証結果をもとに挙動の違いを解説
  • 運用上安全な設定を選ぶためのポイントを紹介

参照列のリレーションシップ設定は、リスト運用を始めてから変更するとデータへの影響が大きくなります。SharePointリストの設計・構築にお悩みの際は、以下のサービスもあわせてご確認ください。

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate) 2026 Microsoft MVP(SharePoint・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

SharePointリストでデータを保存する際、選択肢列や参照列を用いることは多いと思います。

そして、SharePointリストを運用していくと、選択肢・参照列の一覧項目を変更したい場合があるのではないでしょうか。
(具体的には、一覧に新しい項目を追加したり、既存の項目更新・削除したい場合です。)

今回は、SharePointリストの選択肢・参照列において、一覧項目を更新・削除したい場合の挙動について調査してみました。
※新しい項目を追加する場合は、単純に一覧に項目が増えるだけなので、今回は割愛しております。

SharePointリストでデータを保存するすべての方にご覧いただきたい内容です。

また、以前「Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて」という内容でブログを書いたこともありますので、参考にしていただけますと幸いです。

前回のブログでは、選択肢列の挙動について調査した結果をご紹介しました。
今回は、参照列について説明していきます。

 

調査内容

はじめに、今回調査する内容について説明します。

今回使用したのは、SharePointリストの参照列です。

参照列にはリレーションシップの動作を実行するという設定項目があります。

参照列_リレーションシップの動作を実行する
参照列_リレーションシップの動作を実行する

今回は上記設定項目をオフ・制限削除・連鎖削除にした場合において、一覧項目から値を更新・削除した場合の挙動を調査いたしました。

調査内容としては、以下です。

  • 現在保存されているデータはどうなるのか?

  • 選択肢一覧はどうなるのか?

調査した結果を以下に示します。

 

参照列:「リレーションシップの動作を実行する」がオフの場合

パターン1は参照列で、リレーションシップの動作を実行するがオフの場合です。

 

設定

まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。

参照列:保存されているデータ(マスタ)
参照列:保存されているデータ(マスタ)

続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、リレーションシップの動作を実行するをオフに設定しています。

具体的な設定値としては、以下です。

参照列:リレーションシップの動作を実行するがオフ
参照列:リレーションシップの動作を実行するがオフ

また、SharePointリストにはマスタ1~3のデータが保存されています。

参照列:保存されているデータ
参照列:保存されているデータ

 

一覧項目を更新した場合

上記設定において、マスタリストのマスタ1をマスタ1-1に更新しました。

参照列:リレーションシップの動作を実行するがオフ_一覧を更新
参照列:リレーションシップの動作を実行するがオフ_一覧を更新

更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。 選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。

参照列:リレーションシップの動作を実行するがオフ_一覧を更新_結果
参照列:リレーションシップの動作を実行するがオフ_一覧を更新_結果

 

一覧項目を削除した場合

続いて、マスタリストから「マスタ2」を削除してみました。

参照列:リレーションシップの動作を実行するがオフ_一覧から削除
参照列:リレーションシップの動作を実行するがオフ_一覧から削除

削除した結果、SharePointリストに保存されているデータは空白となっていました。

選択肢一覧を確認すると、一覧からマスタ2が消えていました。

参照列:リレーションシップの動作を実行するがオフ_一覧から削除_結果
参照列:リレーションシップの動作を実行するがオフ_一覧から削除_結果/figcaption>

 

参照列:「リレーションシップの動作を実行する」が「制限削除」の場合

パターン2は参照列で、、リレーションシップの動作を実行するが制限削除の場合です。

 

設定

まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。

照列:保存されているデータ(マスタ)
参照列:保存されているデータ(マスタ)

続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、リレーションシップの動作を実行するを制限削除に設定しています。

具体的な設定値としては、以下です。

参照列:リレーションシップの動作を実行するが制限削除
参照列:リレーションシップの動作を実行するが制限削除

また、SharePointリストにはマスタ1~3のデータが保存されています。

照列:保存されているデータ
照列:保存されているデータ

 

一覧項目を更新した場合

上記設定において、マスタリストの「マスタ1」を「マスタ1-1」に更新しました。

参照列:リレーションシップの動作を実行するが制限削除_一覧を更新
参照列:リレーションシップの動作を実行するが制限削除_一覧を更新

更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。

選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。

参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_結果
参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_結果

 

一覧項目を削除した場合

続いて、マスタリストから「マスタ2」を削除を試みました。
その結果、エラー画面が表示され、削除できませんでした。

参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_一覧から削除
参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_一覧から削除

また、SPリストに保存されている「マスタ2」のデータを削除した後、マスタリストから「マスタ2」を削除すると、無事削除できました。

 

参照列:「リレーションシップの動作を実行する」が「連鎖削除」の場合

パターン3は参照列で、リレーションシップの動作を実行するが連鎖削除の場合です。

 

設定

まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。

参照列:保存されているデータ(マスタ)
参照列:保存されているデータ(マスタ)

続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、「リレーションシップの動作を実行する」を「連鎖削除」に設定しています。

具体的な設定値としては、以下です。

参照列:リレーションシップの動作を実行するが連鎖削除
参照列:リレーションシップの動作を実行するが連鎖削除

また、SharePointリストにはマスタ1~3のデータが保存されています。

参照列:保存されているデータ
参照列:保存されているデータ

 

一覧項目を更新した場合

上記設定において、マスタリストのマスタ1をマスタ1-1に更新しました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新
参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新

更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。

選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新_結果
参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新_結果

 

一覧項目を削除した場合

続いて、マスタリストから「マスタ2」を削除してみました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除
参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除

削除した結果、SharePointリストから該当のデータが削除されていました。

選択肢一覧を確認すると、一覧からマスタ2が消えていました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除_結果
参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除_結果

 

まとめ

上記までの情報を以下にまとめました。

リレーションシップの動作を実行する

一覧項目を更新

一覧項目から削除

オフ

  • SPリストに保存されているデータは、項目が更新されている

  • 選択肢一覧は、項目が更新されている

  • SPリストに保存されていたデータは、空白となっている

  • 選択肢一覧から削除されている

制限削除

  • SPリストに保存されているデータは、項目が更新されている

  • 選択肢一覧は、項目が更新されている

  • マスタの削除ができない
    ※ただし、参照する側のリストから対象の選択肢項目を削除すると、マスタ側の削除も可能

連鎖削除

  • SPリストに保存されているデータは、項目が更新されている

  • 選択肢一覧は、項目が更新されている

  • SPリストに保存されていたデータは、削除されている

  • 選択肢一覧から削除されている

すべての場合において、マスタ側の項目を更新すると、参照する側のリストも更新されていました。

一方削除の場合には、各パターンにおいて挙動が異なりました。

  • 【リレーションシップの動作を実行するがオフの場合】
    マスタ側が削除されると、参照する側のリストが空白となる挙動でした。

  • 【制限削除の場合】
    参照する側のリストの中に対象の選択肢項目が保存されている場合は、マスタ側の削除ができないという挙動でした。

  • 【連鎖削除の場合】
    マスタ側が削除されると、参照する側のリストの該当データが削除されるという挙動でした。

運用する上で一番安全なのは「制限削除」ではないかと思います。

(他パターンの場合には、参照する側のリストが空白となったり、データが削除されるため、管理者側が予想していないデータとなっている可能性があるため)

上記挙動をご確認いただき、皆様の環境に応じて設定してみてください。

 

おわりに

今回は、SharePointリストの参照列において、一覧項目を更新・削除した場合の挙動について調査した結果をご紹介しました。
運用している中で選択肢の内容を変えたいという要望は多いと思いますので、参考にしていただけますと幸いです。

 

参照列のリレーションシップ設定は、運用開始後の変更が難しく、選び方次第で保存データや選択肢一覧の挙動が大きく変わります。今回ご紹介した検証結果を参考に、要件に応じたリスト設計を最初の段階から検討しておくことをおすすめします。SharePointリストの設計・構築でお悩みの際は、以下のサービスもご覧ください。

 

こちらも合わせて読みたい