SharePointリストのコピー方法を徹底解説!構造とデータを簡単に複製

スポンサーリンク

SharePointリストのコピーとは?

SharePointリストのコピーとは、既存のリストの構造(列の設定、ビュー、書式設定など)やデータ(アイテム)を複製することです。

リストをコピーする理由はさまざまです。
似た構造のリストを複数作りたい、テスト用にリストを複製したい、別のサイトにリストを移動したい、バックアップとして保存したいなど、多くの場面で活用できます。

ただし、「リストのコピー」には2つの意味があります。

リストの構造だけをコピー:
列の設定、データ型、ビュー、書式設定などはコピーされますが、実際のデータ(アイテム)はコピーされません。
空のリストが作成されます。

リストの構造とデータをコピー:
列の設定とすべてのアイテムの両方がコピーされます。
完全な複製が作成されます。

目的に応じて、適切な方法を選択することが重要です。

リストの構造だけをコピーする方法

リストの構造(列の設定、ビューなど)だけをコピーし、データは空の状態で新しいリストを作成する方法です。

方法1: 「既存のリストから」機能を使う(推奨)

SharePoint Online の標準機能で、最も簡単な方法です。

手順:

  1. コピー先のSharePointサイトを開く
  2. ホーム画面の「+新規」をクリック
  3. 「リスト」を選択
  4. 「既存のリストから」をクリック
  5. 「チームまたはサイトを選択」でコピー元のサイトを選択
  6. 「リストを選択」でコピー元のリストを選択
  7. 「次へ」をクリック
  8. 新しいリストの名前を入力
  9. 必要に応じて説明を追加
  10. 「サイトナビゲーションに表示」のチェックボックスを確認
  11. 「作成」をクリック

コピーされるもの:

  • すべての列とそのデータ型
  • 列の書式設定
  • ビューの設定
  • 条件付き書式
  • 最初の2つの自動ルール(3つ以上ある場合は手動で追加が必要)

コピーされないもの:

  • アイテム(データ)
  • アイテムのバージョン履歴
  • アイテムの添付ファイル
  • 権限設定
  • ワークフロー

注意点:

  • Microsoft Listsの「マイリスト」からはコピーできません
  • 自分がメンバーになっているサイトのリストのみ選択可能
  • 同じサイト内でも別サイトでも作成可能

方法2: PowerShellを使う(上級者向け)

PnP PowerShellを使用すると、リストの構造をコピーできます。

前提条件:

  • PnP PowerShellがインストールされていること
  • SharePoint管理者権限

コマンド例:

# SharePointサイトに接続
Connect-PnPOnline -Url "https://組織名.sharepoint.com/sites/サイト名" -Interactive

# リストをコピー(構造のみ)
Copy-PnPList -Identity "コピー元リスト名" -Title "新しいリスト名"

このコマンドは、列、ビュー、設定をコピーしますが、アイテムはコピーしません。

リストの構造とデータを完全にコピーする方法

リストの構造だけでなく、すべてのアイテム(データ)もコピーする方法です。

方法1: リストテンプレート機能を使う

SharePointの「リストをテンプレートとして保存」機能を使います。

重要な制限:

  • テンプレートのサイズは50MBまで
  • アイテムの合計容量が50MBを超える場合は使用不可
  • カスタムスクリプトが有効になっている必要がある

手順:

ステップ1: テンプレートを作成

  1. コピー元のリストを開く
  2. 画面右上の歯車アイコン→「リストの設定」をクリック
  3. 「権限と管理」セクションから「リストをテンプレートとして保存」をクリック
  4. ファイル名を入力(拡張子.stpは自動で付加されます)
  5. テンプレート名を入力(リスト作成時に表示される名前)
  6. 「コンテンツを含む」にチェックを入れる(これが重要!)
  7. 「OK」をクリック

テンプレートがリストテンプレートギャラリーに保存されます。

ステップ2: 別サイトにテンプレートを移動(別サイトにコピーする場合)

同じサイト内であれば、この手順は不要です。

  1. 元のサイトで、歯車アイコン→「サイトの設定」をクリック
  2. 「Web デザイナー ギャラリー」から「リスト テンプレート」をクリック
  3. 作成したテンプレートをクリックし、「ダウンロード」
  4. コピー先のサイトで、同じ手順で「リスト テンプレート」を開く
  5. 「ファイルのアップロード」からダウンロードしたテンプレートをアップロード

ステップ3: テンプレートから新しいリストを作成

  1. コピー先のサイトで、歯車アイコン→「サイト コンテンツ」をクリック
  2. 「+新規」→「アプリ」をクリック
  3. アプリ一覧から作成したテンプレート名を選択
  4. 新しいリストの名前を入力
  5. 「作成」をクリック

リストの構造とすべてのアイテムがコピーされます。

注意点:

  • 50MBを超える場合は、この方法は使えません
  • 添付ファイルもサイズに含まれます
  • バージョン履歴は最新版のみコピーされます

方法2: グリッドビューでコピー&ペースト(少量のアイテム向け)

アイテム数が少ない場合(100件以下が目安)は、Excelのようにコピー&ペーストできます。

手順:

ステップ1: リストの構造をコピー

まず、「既存のリストから」機能で構造だけをコピーします。

ステップ2: アイテムをコピー&ペースト

  1. コピー元のリストを開く
  2. すべてのアイテムを表示(スクロールして最後まで読み込む)
  3. 画面上部の「グリッドビューでの編集」をクリック
  4. すべての行を選択(チェックボックスにチェック)
  5. Ctrl+Cでコピー
  6. コピー先のリストを開く
  7. 「グリッドビューでの編集」をクリック
  8. 「+新しいアイテムを追加」をクリック
  9. 追加した行を選択してCtrl+Vでペースト
  10. 「グリッドビューの終了」をクリック

注意点:

  • デフォルトでは100アイテムまでしか表示されません
  • 100件以上ある場合は、最後までスクロールしてすべて読み込む必要があります
  • 大量のアイテムがある場合、ペーストに時間がかかります
  • 複雑な列タイプ(参照、画像など)は正しくコピーされない場合があります

グリッドビューが表示されない場合:

リストの設定を確認してください。

  1. 歯車アイコン→「リストの設定」をクリック
  2. 「詳細設定」をクリック
  3. 「クイック プロパティの編集」が「はい」になっているか確認
  4. また、ビューで「グループ化」が設定されていると表示されません

方法3: Excel経由でコピー(簡易的な方法)

Excelを経由してデータをコピーする方法です。

注意:
この方法では、列の種類が正しく保持されない場合があります。
選択肢が1行テキストに変わってしまうなど、データ型の情報が失われます。

手順:

  1. コピー元のリストを開く
  2. 「エクスポート」→「Excelにエクスポート」をクリック
  3. Excelファイルをダウンロードして開く
  4. 必要に応じてデータを編集
  5. コピー先のサイトで「既存のリストから」で構造をコピー
  6. 作成したリストで「グリッドビューでの編集」を開く
  7. ExcelからデータをコピーしてペースT

この方法は簡単ですが、列タイプの問題があるため推奨されません。

方法4: Power Automateを使う(大量のアイテム向け・推奨)

アイテム数が多い場合や、定期的にコピーする必要がある場合は、Power Automateが最適です。

メリット:

  • 5000アイテムまで対応可能
  • 自動化できる
  • 複雑な列タイプにも対応
  • エラーハンドリングが可能

基本的な流れ:

1. リストの構造をコピー(手動またはサイトスクリプト)

「既存のリストから」機能で構造をコピーするか、サイトスクリプトを使用します。

2. Power Automateでアイテムをコピー

フローの構成:

  1. トリガー:「手動でフローをトリガーします」
  2. アクション1:「複数の項目を取得」(コピー元リスト)
  • 「上から順に取得」に5000を設定
  • 設定で「改ページ」をオンにし、しきい値を5000に設定
  1. アクション2:「選択」(必要な列だけを抽出)
  • 左辺:列の内部名
  • 右辺:対応する動的コンテンツ
  1. アクション3:「それぞれに適用する」(Apply to each)
  • 入力:選択アクションの出力
  1. アクション4:「項目の作成」(Apply to eachの中)
  • サイトアドレス:コピー先のサイト
  • リスト名:コピー先のリスト
  • 各列に対応する値を設定

注意が必要な列タイプ:

選択肢(複数選択):
配列に変換する必要があるため、「選択」アクションで加工します。

ハイパーリンク:
URLと表示テキストを別々に処理する必要があります。
「SharePointにHTTP要求を送信します」アクションを使用します。

画像列:
画像データを直接コピーするのは困難です。
URLのみコピーするか、別途処理が必要です。

参照列(Lookup):
参照先のIDを取得してコピーする必要があります。

詳細な手順:

Power Automateでの実装は複雑なため、段階的に構築することをお勧めします。
まず基本的な列(テキスト、数値、日付など)で動作確認し、その後複雑な列を追加していきます。

リスト間でアイテムを同期する方法

2つのリスト間でアイテムを常に同期させたい場合の方法です。

Power Automateで同期フローを作成

トリガー:
「項目が作成または変更されたとき」(コピー元リスト)

フローの構成:

  1. アクション1:「複数の項目の取得」(コピー先リストで同じアイテムを検索)
  • フィルタークエリ:Title eq ‘[コピー元のタイトル]’
  1. 条件:アイテムが存在するか確認
  • 式:length(body(‘複数の項目の取得’)?[‘value’])
  • 条件:0と等しい
  1. はいの場合:「項目の作成」(新しいアイテムを作成)
  2. いいえの場合:「項目の更新」(既存のアイテムを更新)

制限事項:

  • アイテム削除の同期はできません(削除トリガーがないため)
  • 一意識別子として使っている列が変更されると、新しいアイテムとして扱われます
  • IDを使って識別する方法が最も確実です

アイテムを個別にコピーする方法

リスト内で特定のアイテムだけを複製したい場合の方法です。

グリッドビューで1行ずつコピー

手順:

  1. リストを開く
  2. 「グリッドビューでの編集」をクリック
  3. コピーしたいアイテムの行を選択
  4. Ctrl+Cでコピー
  5. 「+新しいアイテムを追加」をクリック
  6. 新しい行を選択してCtrl+Vでペースト
  7. 必要に応じて内容を修正
  8. 「グリッドビューの終了」をクリック

Power Automateで「複製」ボタンを追加

特定のアイテムに対して「複製」機能を追加できます。

フローの構成:

  1. トリガー:「選択されたアイテムに対して」
  2. アクション1:「項目の取得」(選択されたアイテムの詳細を取得)
  3. アクション2:「項目の作成」(同じ内容で新しいアイテムを作成)
  • 各列に、取得した項目の対応する値を設定

フローを公開すると、リストのアイテムメニューの「自動化」から実行できるようになります。

コピー時の注意点とベストプラクティス

列の内部名に注意

Power Automateを使う場合、列の内部名が重要です。

内部名とは:
SharePointが内部で使用する列の識別子です。
表示名とは異なる場合があります。

確認方法:

  1. リストの設定を開く
  2. 列名をクリック
  3. URLの「Field=」の後の文字列が内部名です

ベストプラクティス:

  • リスト作成時は英語の列名を使用
  • 後から日本語に変更すると、内部名は英語のまま残ります
  • 最初から日本語で作ると、内部名がエンコードされて複雑になります

バージョン履歴の扱い

リストをコピーする際、バージョン履歴は通常最新版のみがコピーされます。

すべてのバージョンを保持したい場合は、専用のツールが必要です。

権限設定

リストをコピーしても、権限設定はコピーされません。

コピー後、必要に応じて権限を再設定する必要があります。

ID列について

SharePointが自動的に割り当てるID列は、コピーしても同じ値にはなりません。

新しいリストでは、1から順番に新しいIDが割り当てられます。

元のIDを保持する必要がある場合は、別の列を作成してIDをコピーします。

大量アイテムのコピー

5000アイテムを超えるリストをコピーする場合は注意が必要です。

リストビューしきい値:
SharePointでは、一度に5000アイテムまでしか取得できません。

対策:

  • Power Automateで「改ページ」を有効にする
  • 複数回に分けてコピーする
  • インデックス付き列でフィルタリングする

添付ファイルの扱い

標準的なコピー方法では、アイテムの添付ファイルはコピーされない場合があります。

添付ファイルも含めてコピーする場合は、Power Automateで特別な処理が必要です。

よくある質問

Q1: リストをコピーするとIDは同じになりますか?

A: いいえ、ID列は新しいリストで1から順番に自動的に割り当てられます。
元のIDを保持したい場合は、別の列(例:「元のID」)を作成し、そこにIDをコピーする必要があります。

Q2: 50MBを超えるリストをテンプレートでコピーできますか?

A: いいえ、テンプレート機能は50MBまでの制限があります。
50MBを超える場合は、Power AutomateやExcelを使った方法を検討してください。

Q3: 画像列はコピーできますか?

A: 画像列の画像データを完全にコピーするのは困難です。
Power Automateを使用する場合、画像のURLのみコピーするか、別途画像を再アップロードする必要があります。

Q4: 参照列(Lookup)はどうやってコピーしますか?

A: 参照列をコピーする場合、参照先のアイテムIDを取得してコピーする必要があります。
Power Automateでは、「フィールド名Id」という形式でIDを取得できます。

Q5: グリッドビューが表示されません

A: 以下を確認してください:

  1. リストの設定→詳細設定で「クイック プロパティの編集」が「はい」になっているか
  2. ビューで「グループ化」が設定されていないか(グループ化があると表示されません)

Q6: 別のサイトコレクションにコピーできますか?

A: はい、できます。
「既存のリストから」機能は、自分がアクセスできる任意のサイトからコピーできます。
ただし、テンプレート機能を使う場合は、手動でテンプレートファイルをダウンロード・アップロードする必要があります。

Q7: コピーした後、元のリストを変更しても同期されますか?

A: いいえ、一度コピーした後は独立したリストになります。
継続的に同期したい場合は、Power Automateで同期フローを作成する必要があります。

Q8: 100件以上のアイテムをグリッドビューでコピーできますか?

A: はい、できます。
ただし、最初にリスト画面で最後までスクロールして、すべてのアイテムを読み込んでからグリッドビューを開く必要があります。
大量のアイテムがある場合は、Power Automateの使用をお勧めします。

まとめ

SharePointリストのコピーには、目的に応じて複数の方法があります。

構造だけをコピーする場合:
「既存のリストから」機能が最も簡単で推奨されます。
数クリックで新しいリストを作成でき、列の設定やビューが完全にコピーされます。

構造とデータを完全にコピーする場合:
アイテム数と容量によって最適な方法が異なります。

  • 50MB以下、少量のアイテム:リストテンプレート機能
  • 100件以下のアイテム:グリッドビューでコピー&ペースト
  • 大量のアイテム:Power Automate(最も柔軟で強力)

Power Automateは学習コストがかかりますが、一度作成すれば繰り返し使用でき、複雑な列タイプにも対応できます。
定期的にリストをコピーする必要がある場合や、大量のアイテムを扱う場合は、投資する価値があります。

重要なのは、各方法の制限事項を理解し、自分の状況に最適な方法を選択することです。
特に、ID列の扱い、バージョン履歴、添付ファイル、権限設定などは、コピー後に追加の作業が必要になる場合があります。

適切な方法を選択し、事前にテストしてから本番環境で実行することをお勧めします。

コメント

タイトルとURLをコピーしました