SharePointリストに新しい列を追加した後、既存のアイテムにその列の値が表示されない、または空欄のままになるケースがあります。特に、組織で長年運用しているリストに列を追加した場合、過去データへの影響を懸念する声をよく耳にします。この現象は、列の設定やリストの仕様に起因するものがほとんどで、正しい手順を踏めば解消できます。本記事では、列が既存データに反映されない原因を切り分け、具体的な確認手順と対処方法を解説します。
【要点】この記事で確認すること
- 最初に見る場所: 列の設定画面(既定値、計算式、参照先)とリストのビュー設定
- 切り分けの軸: 新規アイテムには適用されるか、該当列の種類(選択肢、参照、計算など)は何か、権限やバージョン管理の影響があるか
- 注意点: 会社PCでリストの設定を変更する場合は、サイトコレクション管理者やリスト所有者の権限が必要です。特に業務で使われているリストは、変更前に影響範囲を確認しましょう。
ADVERTISEMENT
目次
原因1:列の既定値が設定されていない、または空欄のまま
列を追加する際に「既定値」を指定しなかった場合、既存のアイテムにはその列の値が自動的に入りません。SharePointでは、新しい列をリストに追加しても、既存アイテムのその列は空の状態になります。これは仕様であり、バグではありません。既定値を設定するには、列の編集画面で「既定値」のオプションを有効にし、値を入力する必要があります。
既定値の設定手順
- 該当するリストを開き、上部メニューの「設定」アイコン(歯車)をクリックし、「リスト設定」を選択します。
- 「列」のセクションで、追加した列の名前をクリックします。
- 「既定値」の項目で「はい」を選択し、値として固定のテキストや日付を入力します。計算列や参照列の場合は、既定値を設定できない場合があります。
- 「保存」をクリックします。ただし、既定値を変更しても過去のアイテムには自動反映されません。後述の一括更新が必要です。
- 必要に応じて、PowerShellやフローを使って一括更新を行います。
失敗パターン
「既定値」を設定したのに既存データに反映されない場合、既定値が「計算列」や「ユーザーまたはグループ」列など、動的な値に依存している可能性があります。また、リストに「アイテムのバージョン管理」が有効で、過去のバージョンに列が存在しない場合も反映されません。
原因2:列の種類による動作の違い
SharePointの列には複数の種類があり、既存データへの影響が異なります。以下の表に主な列の種類と既存アイテムへの反映状況をまとめました。
| 列の種類 | 既存アイテムへの自動反映 | 備考 |
|---|---|---|
| 1行テキスト、複数行テキスト | 空欄になる | 既定値を設定しても過去アイテムは空欄 |
| 選択肢(ドロップダウン) | 空欄になる | 既定値を設定しても過去アイテムは空欄 |
| 数値、通貨 | 空欄になる | 既定値を設定しても過去アイテムは空欄 |
| 日付/時刻 | 空欄になる | 既定値を「今日の日付」にしても過去アイテムは空欄 |
| 参照(Lookup) | 空欄になる | 参照先に値がない場合は空欄 |
| 計算列 | 自動計算される(ただしタイミングあり) | アイテムの保存時またはビュー表示時に計算。既存アイテムも次回編集時に計算される場合がある |
| ユーザーまたはグループ | 空欄になる | 既定値の設定は不可 |
| はい/いいえ | いいえ(空欄)になる | 既定値を「はい」にしても過去アイテムはいいえ |
計算列は、既存アイテムにも自動で値が反映される場合がありますが、必ずしも即座に反映されるわけではありません。通常、計算列はアイテムが編集されて保存されるタイミングで再計算されます。また、リストにバージョン管理が有効な場合、過去バージョンには計算結果が保存されません。
計算列が反映されない場合の対処
- 計算列の数式に問題がないか確認します。例えば、他の列を参照している場合、その列が空欄だと計算結果も空になります。
- リストの「詳細設定」で「計算列の更新」を手動でトリガーできる場合があります(サイトの設定による)。
- 一括更新として、PowerShellでアイテムをループして更新する方法があります。
- または、フロー(Power Automate)を使って定期的にアイテムを更新する方法も検討できます。
- どうしても反映されない場合、列の種類を「計算列」から「1行テキスト」などに変更し、数式の結果を別途保存することを検討します。
原因3:リストビューやフォームに列が追加されていない
列を追加しても、リストのビュー(表示方法)にその列が含まれていないと、ユーザーはその列を見ることができません。特に、カスタムビューを作成している場合によく発生します。また、フォーム(アイテム編集画面)に列が表示されない場合は、フォームのカスタマイズや権限が原因の場合があります。
ビューに列を追加する手順
- リストの上部にあるビュー選択ドロップダウンから「現在のビューを編集」をクリックします。
- 「列」セクションで、追加した列が見つからない場合は「列の追加」から選択します。
- 列の順序を変更し、「OK」をクリックします。
- 別のビューに対しても同様の操作が必要な場合は、各ビューを編集してください。
- リストの「すべてのアイテム」ビューなど標準ビューにも列が表示されない場合は、リスト設定の「ビュー」から確認します。
フォームに列が表示されない場合
SharePointの標準フォーム(NewForm, EditForm, DisplayForm)に列が自動で追加されないことがあります。特に、Power Appsでカスタマイズされたフォームを使用している場合、列を追加してもフォームに反映させるには手動で追加する必要があります。また、「簡易フォーム」を使用している場合は、列が自動で表示されることが多いですが、ビュー設定とは独立しています。
原因4:権限やバージョン管理の影響
列を追加する権限があっても、既存アイテムを編集する権限がないユーザーは、列の値を確認できないことがあります。また、バージョン管理が有効なリストでは、過去のバージョンに新しい列が存在しないため、そのバージョンでは列が表示されません。これは正常な動作です。
権限の確認と対処
- リストの「設定」→「リストの権限」で、ユーザーがアイテムの編集権限を持っているか確認します。
- 「アイテムの編集」権限がない場合は、列の値は表示されても編集できません。
- 「アイテムの表示」権限しかない場合、新しい列が表示されないことがあります(ビューからの除外設定による)。
- 管理者に連絡して権限の付与を依頼します。
- バージョン管理の設定を変更して、新しい列が過去バージョンに表示されるようにすることはできません。
原因5:列の追加後にデータを一括更新する必要がある
列を追加した後、既存アイテムに値を反映させるには、ユーザーが手動で編集するか、一括更新を実行する必要があります。SharePointの標準機能では、一度に多数のアイテムを更新する方法がいくつかあります。
一括更新の方法
- クイック編集:リストビューで「クイック編集」(Datasheetビュー)を使ってExcelのように一括入力します。変更後は自動保存されます。
- PowerShellスクリプト:SharePoint Onlineの場合、PnP PowerShellを使ってアイテムをループし、新しい列に値をセットします。
- Power Automate(フロー):トリガー(例:列が追加されたとき)を使って既存アイテムを更新するフローを作成します。
- リスト設定の「列の既定値」を設定した後、一括更新を実行する:ただし、既定値を設定しただけでは過去アイテムは更新されないため、別途一括更新が必要です。
- サードパーティツール:ShareGateやMetalogixなどのツールを使う方法もありますが、コストがかかります。
よくある質問(FAQ)
Q. 計算列が既存アイテムに反映されません。数式は正しいはずです。
A. 計算列はアイテムが編集されるまで再計算されないことがあります。アイテムを一度編集して保存するか、PowerShellでタッチ更新を行ってください。また、参照している列に値が入っているか確認してください。
Q. 選択肢(Choice)列を追加しましたが、既存アイテムに空欄で表示されます。既定値を設定しました。
A. 既定値は新規アイテムにのみ適用されます。既存アイテムには適用されません。既存アイテムに値を設定したい場合は、一括更新を行ってください。
Q. リストのビューに新しい列が表示されません。設定で追加済みです。
A. ビューに列が表示されない場合、ビューのフィルター条件で列が非表示になっている可能性があります。また、個人用ビューを使用している場合、ビューのリセットが必要なことがあります。リスト設定のビューから該当ビューを編集し、列の表示を確認してください。
Q. 列の追加後に既存データを自動的に更新する方法はありますか?
A. SharePointの標準機能では、自動更新はありません。ただし、Power Automateを使って列追加をトリガーにフローを実行することで、既存アイテムを自動更新することは可能です。
Q. 管理者に確認すべきことはありますか?
A. リストの設定権限、バージョン管理の設定、列の追加がサイトコレクションの制限に引っかかっていないか(列の最大数など)を確認してください。
まとめ
SharePointリストに追加した列が既存データに反映されない原因は、主に列の既定値設定、列の種類の特性、ビューやフォームの設定、権限、そして一括更新の必要性に集約されます。まずは、新しい列が新規アイテムには正常に表示されるかを確認し、その上で既存アイテムに値を反映させる方法を選択してください。計算列の場合は自動計算のタイミングを理解し、必要に応じて手動更新を行います。組織で利用しているリストの場合は、変更前に影響範囲を管理者と相談することをお勧めします。
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
