web-dev-qa-db-ja.com

Googleスプレッドシートの高度な日付ロジック

私には次のような状況があります:

今日は4/9/12です。シートの日付が4/13/12のセルがあります。このセルは現在の日付から7日以内であるため、赤に変わります。

  1. 条件付き書式を使用して、Googleスプレッドシートで現在の日付から最大7日間のセルを強調表示する方法は何ですか?

  2. スプレッドシートを取得して、並べ替える範囲の昇順の日付に基づいてシートを並べ替えるにはどうすればよいですか?私はこれをやろうとしていますが、それはすべてソートですall列タイトルを含むデータは私が望んでいるものではありません。

10
Andrew Davis

はい。

3つのルールで条件付き書式を使用します:(書式->条件付き書式)

  1. 「日付は前」「先週」->赤
  2. 「先週の日付は後」->緑
  3. 「日付は」「先週」->オレンジ

これにより、1週間以上離れたすべての日付が緑色で、次の週に来るすべての日付がオレンジ色、残りの日付が赤色で表示されます。空のセルはそのまま残されます。

13
Onno Benschop

受け入れられた回答よりも正確な時刻が必要な場合は、 DATEDIF を使用して日付間の特定の差を指定できます。

例:A1の日付が10日より古い場合、セルA1をフォーマットします。

命令:

  1. セルA1を選択
  2. 書式設定/条件付き書式設定に移動します
  3. [次の場合にセルを書式設定]で[カスタム数式]を選択します
  4. タイプ:=DATEDIF(A1,TODAY(),"D")>10
3
alex sichwart

受け入れられた答えは、質問で言及されておらず、振り返るだけの色に言及しています。また、「過去1週間」の「日付は前」は、今日から7日以内の日付を強調表示しません。条件付き書式のカスタム式は次のタイプをお勧めします。

=and(A1>today()-7,A1<today()+7)  

ここでは、今日の6日前、今日、および6日後をすべて強調表示する必要があります。

2
pnuts
  1. scripts (かなり複雑になる可能性があり、おそらくそれほど信頼性が低くなる可能性があります)

ただし、より簡単な回避策があります。あなたは出来る:

  • 日付の隣に、テーブルに新しい列を追加します
  • その日付と今日の差(日数)を保存します(たとえば、最初の行の日付セルがC2である場合、次の式を入力できます:=C2-now()
  • 値に応じて差分列をフォーマットします(つまり、less than 7の場合)

これは日付セルをフォーマットしませんが、許容される回避策になる可能性があります。

2。

  • ソートする範囲全体を選択します(列タイトルを含む)
  • メニューから[データ]-> [範囲の並べ替え]を選択します。
  • [データにヘッダー行がある]チェックボックスをオンにします
  • 「並べ替え」ドロップダウンから並べ替え列を選択します
  • [並べ替え]をクリックします
2

使用できます

=ArrayFormula(DAYS360(M2:M; N2:N))

ここで、M2とN2は比較する日付を保持しています。 2つの日付間の日数の違いを数値で示します。その後、セルに条件を追加することができます。セルが大きい場合や7の背景の赤の場合などです。

0
user19031