Расширенная логика дат в таблицах Google


12

У меня следующая ситуация:

Сегодня 9/9/12. У меня есть ячейка с датой на листе, которая 4/13/12. Эта ячейка должна стать красной, поскольку она находится в течение 7 дней с текущей даты.

  1. Как можно использовать условное форматирование, чтобы таблицы Google выделяли ячейки, которые находятся на расстоянии до 7 дней от текущей даты?

  2. Как получить электронную таблицу для сортировки листа по возрастанию дат в диапазоне, который я хочу отсортировать? Я пытаюсь сделать это,
    но все, что он делает, это сортирует все данные, включая заголовки столбцов,
    а это не то, что я хочу.

Ответы:


13

Да.

Используйте условное форматирование с тремя правилами: (Формат -> Условное форматирование)

  1. "Дата до" "на прошлой неделе" -> красный
  2. "Дата после" на прошлой неделе "-> зеленый
  3. "Дата" "на прошлой неделе" -> оранжевый

Это будет окрашивать все даты более чем на неделю в зеленый цвет, все даты на следующей неделе будут оранжевыми, а остальные даты - красным. Пустые клетки останутся одни.


Вот Это Да! это было так просто! я понятия не имел, что правила работают таким образом ... спасибо!
Эндрю Дэвис

выделить всю строку, содержащую сегодняшнюю дату: productforums.google.com/forum/#!topic/docs/kMc7bqNSJVY
JinSnow

4

Если вам нужно более точное время, чем в принятом ответе, вы можете использовать DATEDIF, чтобы указать определенную разницу между датами.

Пример: отформатируйте ячейку A1, если дата в A1 старше 10 дней.

Инструкция:

  1. Выберите ячейку A1
  2. Перейти к форматированию / условному форматированию
  3. Ниже «Формат ячеек, если ...» выберите «Пользовательская формула»
  4. тип: =DATEDIF(A1,TODAY(),"D")>10

Пожалуйста, измените запятую в формуле на точку с запятой. Это больше не работает с комами.
installero

2

В принятом ответе упоминаются цвета, которые не упомянуты в вопросе, а только оглядывается назад. Также «Дата до», «за последнюю неделю» не выделяет даты в течение семи дней с сегодняшнего дня. Я предлагаю Условное форматирование Пользовательская формула имеет тип:

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

где шесть дней до сегодняшнего дня, сегодня и шесть дней после сегодняшнего дня должны быть выделены.


2
  1. Я не знаю, есть ли способ сделать это, кроме как написать несколько скриптов (которые могут быть довольно сложными и, вероятно, не такими надежными)

Однако есть более простой обходной путь. Вы могли бы:

  • добавить новый столбец в таблицу, рядом с датой
  • хранить разницу (в днях) между этой датой и сегодня (например, если дата ячейки в первой строке C2, можно ввести следующую формулу: =C2-now())
  • отформатировать столбец различий в зависимости от его значения (т. е. если он есть less than 7)

Это не форматирует ячейки даты, но это может быть приемлемым решением.

2.

  • выберите весь диапазон, который вы хотите отсортировать (включая заголовки столбцов)
  • в меню выберите Данные -> Диапазон сортировки ...
  • установите флажок «У строки есть заголовок»
  • выберите столбец сортировки из выпадающего списка
  • нажмите "Сортировать"

спасибо за Ваш ответ. Я решил пойти с более простым подходом.
Эндрю Дэвис

0

Ты можешь использовать

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

где M2 и N2 содержат дату, которую вы хотите сравнить. Он показывает разницу в днях по числу между двумя датами. Затем вы можете добавить условное выражение в ячейку, например, если оно будет большим, чем 7, красным фоном.


спасибо за Ваш ответ. Я решил пойти с более простым подходом.
Эндрю Дэвис

-3

Используйте условие, что Дата раньше =today()+7


3
Это не добавляет много к другим ответам. Можете ли вы объяснить, почему это отличается?
Йонска
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.