SharePointリストやライブラリでタスクの期限切れや有効期限切れのデータを抽出したい場面は多いものです。例えば、期限が過ぎたタスクだけを一覧にしたい、終了日が今日以前のプロジェクトを確認したいといった要件があります。本記事では、SharePointの日付列を使って今日以前のデータを絞り込む具体的な方法を解説します。フィルター条件の設定手順から、よくある失敗パターン、管理者へ確認すべきポイントまで網羅しますので、業務でお困りの方はぜひ参考にしてください。
【要点】この記事で確認すること
- 最初に見る場所: SharePointリストのビューのフィルター設定で、「次の値以下」に [今日] を指定する方法です。
- 切り分けの軸: 端末側(ブラウザのタイムゾーン)とリスト設定側(列の種類、時刻の有無)の2軸で問題を切り分けます。
- 注意点: 「今日以前」とは本日の0時00分以前のデータを指します。時刻付きの日付列では、本日の午前中のデータが除外されることがあるため、意図しない結果にならないよう注意が必要です。
ADVERTISEMENT
目次
1. 日付列のフィルターで「今日以前」を指定する標準的な手順
SharePointリストのビューを作成または編集し、日付列に対してフィルター条件を設定します。ここでは、リスト「タスク管理」の「期限日」列を使って、期限が過ぎたタスクだけを表示する例を説明します。
- 該当するSharePointリストを開き、上部メニューの「すべてのアイテム」など現在のビュー名の横にある「∨」をクリックし、「現在のビューを編集」を選択します。
- ビュー編集ページが開いたら、「フィルター」セクションまでスクロールし、「フィルターの表示」で「次の条件をすべて満たすアイテムのみ表示する」を選択します。
- 「列の選択」で「期限日」を選び、「条件」で「次の値以下」を選択します。
- 「値」のボックスに「[今日]」と入力します。大括弧と全角・半角に注意してください。半角で入力します。
- 必要に応じて、さらに別のフィルター条件(例:担当者=自分)を追加できます。「OK」をクリックしてビューを保存します。
以上の操作で、期限日が今日以前(つまり昨日以前)のアイテムだけが表示されるビューが作成されます。このビューを「期限切れタスク」などと名前を付けて公開すると、チーム全体で共有できます。
2. 「今日」の動作を理解する – 時刻の有無が結果を左右する
2.1 日付のみの列と時刻を含む列の違い
SharePointの日付列には、「日付のみ」と「日付と時刻」の2種類があります。標準では「日付のみ」が選択されますが、ライブラリやリストによっては「日付と時刻」が使われている場合もあります。「次の値以下」に「[今日]」を設定したときの挙動は、この設定によって変わります。
| 列の種類 | [今日] の解釈 | 表示されるデータの例 |
|---|---|---|
| 日付のみ | 本日 0:00 ~ 23:59 を含まず、本日0:00より前 | 昨日以前の日付を持つアイテム |
| 日付と時刻 | 本日 0:00 を含めず、本日0:00より前 | 昨日23:59以前のデータ(本日0:00以降は除外) |
つまり、どちらの列タイプでも「[今日]」は「本日の始まり(0時00分)の前」を意味します。そのため、本日付のアイテムは表示されません。もし本日を含めたい場合は、「次の値より小さい」ではなく「次の値以下」を使うのではなく、「[今日]+1」を使って「明日の前日」とするか、別の方法を検討する必要があります。
2.2 タイムゾーンの影響
SharePointの日付時刻は、サイトのタイムゾーン設定に基づいて保存・表示されます。ただし、フィルターで使う「[今日]」はブラウザのタイムゾーンではなく、サーバーのタイムゾーン(サイト設定)を基準にします。そのため、異なるタイムゾーンからアクセスしてもフィルター結果は同じになります。もし期待と異なる結果が出た場合は、サイトのタイムゾーン設定を確認してください。
3. より柔軟な絞り込み:カスタム数式とPower Automateの活用
3.1 ビューのフィルターで数式を使う
標準の「[今日]」では本日を含められないため、数式フィルターを使う方法もあります。ただし、SharePointリストのビューでは数式が使えるのは「計算列」を作成した場合に限られます。例えば、計算列「期限日チェック」に「=IF(期限日<TODAY(),”期限切れ”,”期限内”)」と設定し、その列をフィルター条件に使うことも可能です。しかし、ビューのフィルター条件に直接数式を記述することはできません。
3.2 Power Automateで定期的にデータを抽出する
より複雑な条件(例:今日を含む過去7日間など)を扱いたい場合や、自動で通知を送りたい場合は、Power Automateの利用が適しています。日付フィルターのアクションで「動的な値」として「utcNow()」を使い、条件を組み立てることができます。ただし、こちらはビューのフィルターとは別の手段であり、導入には管理者権限やフローの作成スキルが必要です。
4. よくある失敗パターンとその対処法
4.1 失敗1:本日のデータが表示されない
「今日以前」という条件では本日は含まれません。もし本日も含めたい場合は、「今日」を含む範囲として「[今日]+1」未満という条件にします。具体的には、「期限日」が「[今日]+1」より小さい(つまり明日より前)と設定すれば、本日と昨日以前が表示されます。ただし、この方法でも「[今日]+1」は明日の0時を指すため、時刻列の場合は明日0時ちょうどは含まれない点に注意してください。
4.2 失敗2:入力した「[今日]」が文字列として認識される
フィルターの値欄に「[今日]」と入力したつもりが、保存後に実際の日付に変換されず、そのまま文字列として扱われることがあります。原因は、列の型が「日付」ではない(テキスト列など)か、値の前後に余計なスペースがあるケースです。フィルター設定画面で、列の選択肢が正しく日付列であることを確認し、値は半角角括弧で「[今日]」と正確に入力してください。自動補完が効かない場合は手入力でも問題ありません。
4.3 失敗3:タイムゾーンのずれで異なるデータが表示される
会社のSharePointが米国タイムゾーンなど異なる設定になっている場合、日本時間の「今日」とサーバーの「今日」が一致しないことがあります。この問題はユーザー側では解決できません。管理者にサイト設定のタイムゾーンが適切か確認を依頼してください。特に、日付と時刻の列では時刻も保存されるため、時差で本日0時がずれると、期待するデータがフィルターから漏れる可能性があります。
5. 管理者に確認すべきポイント
フィルター設定がうまく動かない場合、以下の項目を管理者に確認してください。
- サイトの地域設定(タイムゾーン):「サイトの設定」→「地域設定」でタイムゾーンが正しく設定されているか。
- 列のインデックス作成:大量データがあるリストでは、フィルターを高速化するために日付列にインデックスが作成されていると便利です。インデックスがなくてもフィルターは機能しますが、パフォーマンスに影響する可能性があります。
- 列の種類:「日付のみ」か「日付と時刻」かによって挙動が変わります。管理者はリスト設定で列の詳細を確認できます。
- ビューのアクセス許可:個人ビューは自分だけに影響しますが、公開ビューの変更は全ユーザーに影響します。管理者は公開ビューの変更を制限している場合があるため、その場合は自分でビューを作成する必要があります。
6. よくある質問(FAQ)
Q1: 「今日以前」を「昨日以前」と同じ意味で使いたいのですが、設定は正しいですか?
はい、その理解で正しいです。「次の値以下」に「[今日]」を指定すると、本日を含まない昨日以前のデータが抽出されます。もし「今日以前」を「今日を含む」と定義している場合は、「[今日]+1」未満を使用してください。
Q2: フィルター条件に「[今日]」と入力してもエラーになります。
入力した列が日付型であるか確認してください。テキスト列や選択肢列では「[今日]」は使えません。また、半角の角括弧であること、前後にスペースがないことを確認してください。どうしてもエラーが出る場合は、列の追加や変更を管理者に依頼しましょう。
Q3: モダンエクスペリエンスとクラシックエクスペリエンスで違いはありますか?
基本的なフィルターの動作は同じですが、モダンエクスペリエンスではフィルター条件を「列ヘッダーのフィルターアイコン」からも設定できます。ただし、ビュー編集画面から設定する方が確実です。クラシックエクスペリエンスでは、従来のリボンからビューの編集を行います。設定内容に違いはありません。
Q4: リストのアイテム数が多い場合、フィルターが遅くなることがありますか?
はい、アイテム数が5,000件を超えると、SharePointのリストビューしきい値(デフォルト5,000)に達し、フィルターが正しく適用されない場合があります。そのような場合は、管理者に日付列のインデックス作成を依頼するか、ビューのアイテム制限を調整してもらってください。インデックスがあれば、しきい値を超えてもフィルターが機能することがあります。
7. まとめ
SharePointの日付列で今日以前のデータを絞り込むには、ビューのフィルター設定で「次の値以下」に「[今日]」を指定するのが最も簡単な方法です。ただし、「今日」は本日の開始時刻を含まないため、本日のデータも含めたい場合は「[今日]+1」未満の条件に変更する必要があります。列の種類(日付のみ/日付と時刻)やタイムゾーンの影響も考慮し、意図した結果にならない場合は管理者に設定を確認してください。これらのポイントを押さえれば、期限切れデータの抽出や期限管理の自動化に役立てられます。
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
