プロジェクトの日付の隣にステータス列を追加し、数式を使って各行に期限間近、期限日、期限超過のラベルを付けます。このMac用Numbersのワークフローでは、7日間の範囲を使い、非表示の時刻も考慮し、日付が未入力の場合はラベルを付けません。

手順は、Numbers 15.4を対象とするAppleの最新のMac用Numbersユーザガイドに沿っています。例では、各行に1つのタスクと編集可能な期限日があるシンプルなプロジェクトスケジュールを使います。

各ラベルを付ける条件を明確にする

このスケジュールでは、「期限日」は今日が期限日であること、「期限間近」は今後7暦日以内に期限を迎えることを意味します。これはプロジェクトに応じたルールです。作業内容に合わせて、何日前から表示するかを変更できます。

期限日 ステータス
今日より前 期限超過
今日の任意の時刻 期限日
明日から今日の7日後まで 期限間近
今日の8日後以降 後日
空のセル ステータスは空欄
日付以外の内容 日付を確認

後日を設けることで、将来のタスクすべてに緊急のラベルが付くのを避けられます。この数式が判定するのは日付だけです。各行が未完了の作業を表すことを前提としています。完了済みのタスクも残す場合は、アクティブなスケジュールとは分けるか、日付判定の前に完了条件を追加してください。

Numbersの日付と時刻の値には、日付だけが表示されている場合でも日付と時刻の両方が含まれるため、暦日の定義が重要です。真夜中だけを基準に比較すると、今日の午後以降に予定されたタスクを正しく判定できません。Appleは、この値の仕組みを引数と値の種類で説明しています。

タスク列と日付列を設定する

ヘッダー行を1行設け、次の3列がある表を用意します。

列 ヘッダー 内容
A タスク 図形のレイアウトを確認などのプロジェクトタスク
B 期限日 予定日
C ステータス 数式の結果

列Bの本文セルを選択します。「フォーマット」サイドバーで「セル」をクリックし、「データフォーマット」を開いて「日付と時刻」を選びます。年も表示する日付形式を選択します。日単位のスケジュールでは、「時刻」メニューを「なし」に設定します。これらのコントロールについては、Appleの日付と時刻のフォーマット手順を参照してください。

実際のプロジェクトの日付を列Bに入力します。認識される日付形式の文字列は、Numbersによって日付として解釈されます。曖昧な入力が意図した日付になっていることを確認してから、ステータスを利用してください。

時刻を非表示にしても、表示が変わるだけで、保存された値は変わりません。予想外の結果が出たときは、日付セルを選択し、ウインドウ下部の「スマートセル表示」を確認してください。日付と時刻の両方が表示されます。この動作については、同じフォーマットのページでAppleが説明しています。

ステータスの数式を入力する

セルC2をクリックし、次の完全な数式を入力します。対応する期限日がB2にあり、英語の関数名とカンマ区切りの引数を使う前提です。

=IF(ISBLANK(B2),"",IF(ISDATE(B2),IF(B2<TODAY(),"Overdue",IF(B2<TODAY()+DURATION(0,1),"Due",IF(B2<TODAY()+DURATION(0,8),"Due Soon","Later"))),"Check date"))

Returnキーを押して確定します。等号を入力すると「数式エディタ」が開き、入力したセルに数式の結果が表示されます。数式の入力と比較演算子については、Appleの表のセルのデータを使って値を計算するを参照してください。

この数式は、上記のスケジュールルールにAppleのドキュメントに記載された関数を適用したものです。入れ子になったIFのテストにより、一度に1つの結果が選ばれます。AppleはIFのリファレンスで、どちらかの結果を指定する引数の中に、さらにIF関数を入れられることを明示しています。

日付の未入力や無効な値を数式がどう扱うか

最初のテストISBLANK(B2)は、期限日のセルが完全に空の場合、空のテキストを返します。次のテストISDATE(B2)は、値が日付として評価される場合に限り日付を比較し、それ以外の内容には日付を確認を返します。AppleのISBLANKのリファレンスとISDATEのリファレンスを参照してください。

スペースが入ったセルは、空白に見えても空ではありません。同様に、空の文字列を返す数式もセルを占有しています。このワークフローでは、使わない期限日セルの内容を完全に消去してください。表示されている内容を消すためにスペースを入力しないでください。AppleのISBLANKの説明では、空のセルと、見えない内容を含むセルが区別されています。

最後の境界に8日後を使う理由

TODAY()は、時刻を真夜中に設定した今日の日付を返します。DURATION(0,1)は0週間と1日を表すため、2つ目の日付境界は明日の始まりです。AppleのTODAYとDURATIONで、これらの値について説明されています。

比較は順に行われます。今日より前の日付には期限超過、それ以外で明日より前の日付には期限日、それ以外で8日目の始まりより前の日付には期限間近が付きます。それ以降はすべて後日になります。

8日目を厳密に比較対象にすると、非表示の午後や夜の時刻も含めて7日目全体が対象になります。3日前から表示する場合は、最後のDURATION(0,8)だけをDURATION(0,4)に変更します。期限日が引き続き今日を対象とするよう、DURATION(0,1)はそのままにします。

数式を下までコピーし、境界を確認する

C2を選択し、ポインタをセルの枠線に重ねて黄色のオートフィルハンドルが表示されたら、ステータスを入力するセルの範囲まで下にドラッグします。オートフィルは数式と関連する書式をコピーし、コピー先に既にある内容を上書きするため、入力したいステータスセルだけを対象にしてください。AppleのMacのNumbersでセルをオートフィルするを参照してください。

次の行の数式を確認します。期限日の参照がB3になり、その次の行ではB4になっているはずです。参照先はB2に固定されず、タスクの行に合わせて変わります。相対参照と固定参照については、Appleの表のセルのデータを使って値を計算するを参照してください。

プロジェクト全体で数式を使う前に、同じ3列を用意した別の練習用の表で、次のテスト用入力を試してください。指定された列Bのセルに各式を入力し、C9までステータスの数式をコピーします。期待される結果は、数式の境界から導かれたものです。

行 列Aのタスク 列Bの入力 期待されるステータス
2 図形のレイアウトを確認 =TODAY()-DURATION(0,1) 期限超過
3 サンプルブロックを数える =TODAY() 期限日
4 図のラベルを確認 =TODAY()+DURATION(0,0,15) 期限日
5 プロジェクトのセクションを配置 =TODAY()+DURATION(0,1) 期限間近
6 最終的な形状を確認 =TODAY()+DURATION(0,7,23) 期限間近
7 次のレイアウトを準備 =TODAY()+DURATION(0,8) 後日
8 未定のタスク 完全に空欄のままにする 空欄
9 日付待ちのタスク 日付未定と入力 日付を確認

時刻の引数を含む2つの入力は、非表示の時刻を意図的に検証します。今日の15:00は期限日のまま、7日目の23:00は期限間近のままです。AppleのDURATIONの構文では、週、日、時間の順に指定します。実際のスケジュールには固定のプロジェクト日付を使ってください。これらの相対式は、今日の日付とともに変わる練習用の入力です。

ステータスセルにオプションのハイライトを追加する

ラベルが正しいことを確認したら、テキストのルールを使って列Cに色を付けます。

  1. ステータス列の本文セルを選択します。
  2. 「フォーマット」サイドバーで「セル」をクリックし、「条件付きハイライト」と「ルールを追加」を選択します。
  3. 「テキスト」と等号のルールを選び、期限超過を入力して、塗りつぶしまたはテキストのスタイルを選択します。
  4. 期限日と期限間近にも、それぞれ別の等号ルールを追加します。
  5. 終わったら「完了」をクリックします。

見分けやすく読みやすいスタイルを使い、文字のラベルも残してください。セルの選択、条件の追加、スタイルの選択については、AppleのMacのNumbersでセルの条件を使うを参照してください。

これらのルールは、ステータスセル自体に適用します。ドキュメントに記載されたハイライト機能は、セル自身の値を評価し、別のセルの値と比較できます。このワークフローで必要なのは、テキストの完全一致だけです。カスタム数式ルールや行全体の自動着色を前提としていません。複数のルールが一致した場合、Numbersはリストの先頭のルールを使います。Appleの条件付きハイライトガイドを参照してください。

予想外のラベルや古い日付を解決する

結果が予想と異なる場合は、しきい値を変える前に入力値を確認してください。

  • 日付を確認と表示される: 期限日のセルにメモや見えない内容ではなく、認識可能な日付が入っていることを確認します。AppleのISDATEのリファレンスに記載されているように、値を判定するのはISDATEです。
  • 数式エラーが表示される: エラーアイコンをクリックしてメッセージを読み、参照先の入力セルを確認します。Appleの表のセルのデータを使って値を計算するで、この診断手順が説明されています。
  • ラベルが昨日のまま: ファイルを開き直すか、表を変更します。Appleによると、TODAY()はそのようなタイミングで更新されます。開いたまま操作していない書類が、ちょうど真夜中に更新されると考えないでください。TODAYを参照してください。

Mac上のローカルファイルについて、Appleによると、ファイルのタイムゾーンは最後に保存したときのMacの日付と時刻の設定に一致します。日付の境界が予想と異なる場合は、その設定を確認してください。TODAYのリファレンスで、ファイルのタイムゾーンのルールが説明されています。

練習用の行で期待どおりのラベルが表示されたら、アクティブなプロジェクトの日付に数式を使い、スケジュールの拡大に合わせて数式を追加します。7日間の定義を一貫させ、日付を確認の項目を解決し、ハイライトがなくても意味が伝わるようステータスの文字を残してください。

出典