たとえばあなたのチームで重要な案件管理やタスク管理をMicrosoft Listsで行っているとします。利用者が退社や異動によってアカウントが無効化されると、これまで蓄積されたデータやリスト構造が使えなくなるのではないかと心配ですよね。実は、Microsoft Listsのデータ自体はCSV形式に落とし込めば簡単に別アカウント(同じテナント内や、必要であれば別のテナントへ)で再活用することができます。本記事では、その具体的な手順や注意点、円滑に移行を進めるためのヒントを余すところなくお伝えします。
Microsoft Lists移行の全体像
Microsoft 365環境で使われているMicrosoft Listsは、SharePoint上で管理されるデータベース機能に近い仕組みを持っています。そのため、Officeアカウントが異なる場合でも、リストのエクスポートとインポートの手順をしっかり踏むことで新しいアカウントへ移行が可能です。基本的には以下の流れを押さえておくとスムーズです。
- 既存のMicrosoft ListsからCSV形式でデータをエクスポート
- 新しいアカウント、または新テナントでのMicrosoft Listsにデータをインポートしリストを構築
- リストの列設定やフォームのカスタマイズを調整
- 添付ファイルやバージョン履歴が必要な場合は手動で移行、または代替策を検討
これらのステップを一度押さえておけば、移行作業そのものは難しいものではありません。それでは、もう少し詳しく手順を見ていきましょう。
CSV形式を使ったデータ移行の理由
Microsoft Listsでエクスポートするとき、Excel Webクエリファイル(.iqy)が出力されるケースがあります。しかし、.iqyファイルはExcelを通じてSharePoint上のデータをリアルタイムに参照するための接続情報しか含まれていないため、リストとしてのインポートはできません。これをそのままMicrosoft Listsにインポートしようとしてもうまくいかないのは、リスト自体のデータ構造が実際には含まれていないからです。
いっぽうCSV形式のファイルは、各フィールドが区切り文字(コンマ、セミコロンなど)で区切られており、リストとしてそのまま取り込むことが可能です。データ移行の際は必ずCSV形式を選ぶようにしましょう。
Microsoft Listsのエクスポート手順
ここでは、リストのエクスポートをCSVファイルとして行う方法を詳しく解説します。手順は比較的シンプルですが、細かい点を押さえておくと後々のトラブルを防げます。
Step 1: リストの画面で「エクスポート」を選択
Microsoft ListsまたはSharePoint上のリストにアクセスしたら、上部メニューにある「エクスポート」もしくは「リストのエクスポート」のオプションを探してください。場合によっては「Excelにエクスポート」というボタンしか見つからないかもしれません。その場合は、一度Excelで開いてからCSV形式に変換するというプロセスを踏む必要があります。
- リストの上部メニューや右上メニューに「エクスポート」のアイコンがあるか確認
- ない場合は、ビューメニューから「Excelにエクスポート」を選択し、Excelファイルとしてダウンロード
- ダウンロードしたExcelファイルを開き、「名前を付けて保存」でCSV形式を選択
もし「.iqyファイル」しかダウンロードできない場合は、該当のIQYファイルをダブルクリックしてExcelで開き、SharePoint上のデータを読み込んでください。その後、Excelで「ファイル」→「エクスポート」や「名前を付けて保存」からCSV形式を選べばOKです。
Step 2: CSVファイルをローカルに保存
CSVファイルとして保存すると、各列が文字列データとして書き出されます。文字コードや区切り文字には注意が必要です。Microsoft 365環境では基本的に「UTF-8」が一般的に問題なく使えるため、「UTF-8」で保存することをおすすめします。ただし、OSのロケールによっては「Shift_JIS」が既定になるケースもあるため、インポート時に文字化けが起こる場合は文字コードの設定を見直しましょう。
列名やフォーマットの確認
CSVを作ったら、その列名(ヘッダー行)に余計な文字列や特殊文字が含まれていないかを確認してください。たとえば「#」「?」「/」「%」などの文字が混ざると、Microsoft Listsにインポートするときにエラーを起こす場合があります。リストが巨大な場合は、一度小分けにして複数ファイルに分割しておくと安全です。
新アカウントでのリスト作成とデータインポート
エクスポートしたCSVファイルが用意できたら、新しいアカウントのMicrosoft Listsへデータをインポートしていきます。ここでは、Microsoft Listsのブラウザ画面を使った方法を解説します。
Step 1: 新しいリストを作成
新アカウントでMicrosoft Listsへログインし、ホーム画面もしくは「マイリスト」画面から「+新しいリスト」をクリックします。すると、次のようなオプションが表示されます。
- 空のリストから作成
- 既存のリストから作成
- Excelファイル(CSVファイル)から作成
- テンプレートから作成
ここで「Excelファイルから作成」を選ぶか、最新のUIでは「インポート」というボタンが現れるケースもあるので、どちらかを選択してください。ブラウザによって表示が多少異なる場合がありますが、最終的にCSV形式のファイルを指定する画面が出てくればOKです。
Step 2: CSVファイルをアップロード
画面の指示に従って先ほど保存したCSVファイルを選択すると、Microsoft Listsが自動的にCSVの列情報を読み取ります。以下のように、アップロード直後に列名がプレビュー表示され、列のデータ型を選べる画面が表示されるはずです。
列名(自動検出) | サンプルデータ | データ型(推定) |
---|---|---|
タイトル | 案件A | テキスト |
期限 | 2025/05/01 | 日付 |
担当者 | ユーザーB | テキスト |
進捗 | 80% | 数値 |
もし推定されるデータ型が間違っている場合は、ここで修正します(たとえば、日付や数値をテキストとして扱わないようにするなど)。調整が終わったら「インポート」または「作成」をクリックし、リストの生成を行います。
Step 3: 列設定やビューの調整
インポートが完了すると、新しいMicrosoft Listsの画面にデータが表示されます。ただし、既存リストと全く同じ列順や表示形式にはならない可能性があります。特にテキスト型が複数行のテキストとして扱われるか、一行のテキストとして扱われるかなど、微調整が必要になります。
- 列の順番を変更する:リスト上部の「ビューの編集」から調整
- 必須列の設定:一覧設定から「必須」指定を変更
- 検証ルール:もとのリストでカスタム検証があった場合は同じルールを再現
これらの設定を完了すれば、データ移行の大枠は完了です。
.iqyファイルしかない場合の対処方法
先述のとおり、.iqyファイルはExcelからSharePointのリストへ接続するためのWebクエリファイルです。このファイル自体にリストのデータは含まれていないため、そのままインポートには利用できません。.iqyファイルしか入手できない場合でも、以下の手順でCSV化が可能です。
IQYファイルの活用手順
- .iqyファイルをダブルクリックするとExcelが起動し、SharePoint上のリストデータが読み込まれる。
- データが表示されたら「ファイル」→「名前を付けて保存」を選び、CSV形式を選択。
- CSVファイルとして保存したうえで、前述の手順で新しいMicrosoft Listsにインポートする。
このように、.iqyファイルは単独でのリスト移行には使えませんが、Excelとの連携によってCSVを作成できるので安心です。
移行における注意点・よくあるトラブル
移行手順自体はシンプルですが、実際にはいくつかの注意点やトラブルが発生するケースもあります。以下に、特に気をつけたいポイントをまとめました。
1. 既存リストでのフォームカスタマイズ
Microsoft ListsやSharePointリストは、Power Appsなどを用いたフォームカスタマイズが施されている場合があります。これらのフォーム設定はCSVエクスポートには含まれないため、新しいリストで同じフォームを再現するには手動で再設定する必要があります。見た目が大幅に変わってしまう、動作しなくなるカスタムロジックがあるなどのトラブルを避けるため、事前にフォーム構成を確認しておきましょう。
2. 添付ファイルや画像の移行
リストアイテムに添付されているファイルはCSVには埋め込めません。そのため、添付ファイルや画像が大量に存在する場合、下記のような選択肢を検討する必要があります。
- 添付ファイルをすべてダウンロードして再アップロード
- Power Automateなどのワークフローを使って自動移行
- SharePointのライブラリに移してURLをリストに格納
添付数が膨大な場合は、手動作業だけでは大変なので、スクリプトやワークフローの活用がおすすめです。
3. バージョン履歴やユーザーコメント
SharePointリストではアイテムのバージョン管理が行われている場合があり、過去の変更履歴やコメントが参照できます。しかし、CSVとしてエクスポートする場合、バージョン情報は含まれません。もしバージョン情報が必要であれば、スクリーンショットを残す、あるいはPowerShellスクリプトでバージョン履歴を抽出するなどの別途対応が求められます。
# バージョン履歴をPowerShellで取得する例 (概念的サンプル)
# Connect-PnPOnline -Url https://[テナント名].sharepoint.com/sites/[サイト名]
# $listName = "サンプルリスト"
# $items = Get-PnPListItem -List $listName -Fields "ID"
# foreach($item in $items){
# $versions = Get-PnPProperty -ClientObject $item -Property "Versions"
# foreach($ver in $versions){
# Write-Host "Version Label:" $ver.VersionLabel
# Write-Host "Created By:" $ver.CreatedBy
# }
# }
上記のようなスクリプトでリストアイテムのバージョン情報を取得し、必要な形でまとめることも一つの方法です。
4. 権限移行と列の所有者情報
Microsoft Lists/SharePointリストにはアイテムごとのアクセス権限やユーザー別のカスタム列が設定されていることがあります。しかし、CSVエクスポートはシンプルなテーブル構造のみを出力するため、権限設定やユーザー情報そのものは持ち出せません。新アカウント側では、必要なメンバーを改めてリストに招待し、適切な編集権限を付与する作業が必要になります。
5. データ型の変換ミス
ExcelからCSVへ変換するときや、CSVをMicrosoft Listsにインポートするときに、データ型の解釈ミスが起こる可能性があります。たとえば、数値列として扱うべきものがテキスト型になる、日付形式が文字列として登録されるなどが代表例です。インポート後に再度リストの列設定を確認し、必要に応じて型を修正しましょう。
移行をスムーズに進めるためのポイント
最後に、移行作業をスムーズに行うためのポイントや応用的なヒントをまとめます。大規模なリストや高度なカスタマイズがある場合に役立つ可能性があります。
1. テスト用の小規模リストで移行手順を確認
大きなリストをいきなり移行しようとすると、エラーが出たときに特定が難しくなります。まずは5~10件程度のアイテムで構成されたテストリストを用意して、CSVのエクスポート~インポート~列設定といった一連の流れを実行し、問題がないかをチェックしてから本番リストの移行を行うとリスクを大幅に減らせます。
2. 列のマッピングを事前にリストアップ
元のリストの列名と新しいリストで設定したい列名が一致していない場合は、インポート後の調整が大変です。事前に表でマッピングを整理しておくと、どの列をどのデータ型にするか、どういった表示名にするかが明確になるため、移行作業にかかる時間を短縮できます。
元の列名 | 新リストの列名 | データ型 | 備考 |
---|---|---|---|
タイトル | タイトル | テキスト(1行) | 必須項目 |
期限 | 締め切り日 | 日付 | フォームにカレンダーを設定 |
担当者 | 担当ユーザー | ユーザー/グループ | テナント内のユーザーを参照 |
進捗 | 進行度 | 数値 | 0~100の範囲 |
3. Power Automateによる自動化
手動でエクスポート・インポートを行わずに、Power Automateを使ってSharePointリスト(Microsoft Lists)間のデータを同期するフローを作成することも可能です。これにより、元のリストから新しいリストへアイテムが自動でコピーされるため、退社するメンバーがリストを更新し続けていても、最新の情報が新アカウント側に反映されます。大量の添付ファイルやカスタム列を扱う場合に特に有効です。
4. スクリプトによる大規模リストの移行
アイテム数が何万件にも上る大規模リストの場合は、ブラウザ経由でのインポートに時間がかかったり、エラーが発生しやすくなったりします。こうしたケースでは、PnP PowerShellやCLI for Microsoft 365、あるいはGraph APIなどを使ってプログラム的に移行する方法が現実的です。ある程度のスクリプト知識は必要になりますが、手動操作よりも正確性が高まるというメリットがあります。
5. 退社前後の段取りと権限周りの確認
退社予定のユーザーアカウントがすでに無効化されてしまうと、リストにアクセスしてエクスポートするのが難しくなる場合があります。社内のIT管理者と連携し、退社日の前に権限の移行やデータのバックアップを実施するようスケジュール調整しておくことが重要です。また、組織ポリシーによっては退社者のアカウントを一時的にロックするだけで完全削除しないケースもあるので、運用ルールを把握したうえでスムーズに作業を進めましょう。
まとめ:Microsoft Lists移行を成功させる秘訣
Microsoft Listsを別アカウントへ移行する方法は大きく分けて「CSV形式のエクスポートとインポート」「権限の引き継ぎ」「Power Automateやスクリプトによる自動化・大規模移行」の3パターンがあります。状況に応じて最適な方法を選択し、以下のポイントを押さえておくと失敗を最小限に抑えられます。
- まずはCSV形式でデータを安全にバックアップ
- 添付ファイルやフォーム設定など、CSVに含まれない要素は別途移行が必要
- リストの列設定やデータ型を正しく反映させる
- 大規模リストやバージョン履歴などの特殊ケースはスクリプトやPower Automateを活用
- 退社スケジュールと権限設定を事前に管理者と調整する
こうした手順を踏むことで、退社予定のユーザーアカウントが作成・運用していたMicrosoft Listsをスムーズに引き継ぎ、新アカウントで継続利用することができます。移行後の運用ルールも明確にしておけば、今後同様のケースが起こってもスピーディーに対応できるでしょう。
コメント