Многие пользователи сталкиваются с проблемой автоматического отслеживания дедлайнов. Как понять, сколько осталось до крайнего срока? Как увидеть, какие задачи уже просрочены?
При работе над проектами или вы просто ведёте расписание в Notion, важно быстро видеть, какие дедлайны приближаются, а какие уже просрочены. Ручное обновление статусов – это лишняя трата времени. Гораздо удобнее, если Notion автоматически рассчитывает и показывает:
- Если дедлайн сегодня → отображается «📅 Сегодня».
- Если дедлайн уже прошел → «Просрочено на X дней».
- Если дедлайн в будущем → «Осталось X дней».
- Если осталось менее 7 дней → добавляется «‼️», чтобы подчеркнуть срочность.
Шаг 1: Создаем поле “Дедлайн”
Прежде всего, создайте новую базу данных, а далее создайте колонку Date и назовите её “Дедлайн”. В этом поле будет храниться дата крайнего срока для задачи.
Также добавьте колонку “Когда завершено” (Date), чтобы учитывать выполненные задачи.
Шаг 2: Добавляем поле “Статус” с формулой
Теперь создадим колонку Formula, которая автоматически будет определять статус дедлайна. Вставьте следующую формулу:
if(
empty(prop("Дедлайн")) or not empty(prop("Когда завершено")),
"",
if(
formatDate(prop("Дедлайн"), "L") == formatDate(now(), "L"),
"📅 Сегодня",
if(
floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24) > 0,
"Просрочено на ",
"Осталось "
) + format(abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24))) +
" " +
if(
abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)) == 1, "день",
if(abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)) >= 2 and abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)) <= 4, "дня", "дней")
) +
if(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24) >= -7, "‼️", "")
)
)
Как работает эта формула?
1. Проверяем, есть ли данные
if(empty(prop("Дедлайн")) or not empty(prop("Когда завершено")), "", ...
- Если нет даты в “Дедлайн” → оставляем поле пустым.
- Если задача завершена (поле “Когда завершено” не пустое) → оставляем поле пустым.
2. Проверяем, наступил ли дедлайн сегодня
if(formatDate(prop("Дедлайн"), "L") == formatDate(now(), "L"), "📅 Сегодня", ...
- Если текущая дата совпадает с дедлайном → отображается «📅 Сегодня».
3. Определяем, просрочен ли дедлайн или он в будущем
if(
floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24) > 0,
"Просрочено на ",
"Осталось "
)
- Если дедлайн уже прошел → «Просрочено на X дней».
- Если дедлайн в будущем → «Осталось X дней».
4. Добавляем число дней
format(abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)))
- Вычисляет разницу в днях между текущей датой и дедлайном.
5. Автоматически склоняем слово “день”
if(
abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)) == 1, "день",
if(abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)) >= 2 and abs(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24)) <= 4, "дня", "дней")
)
- Если 1 день → отображается “день”.
- Если 2, 3, 4 дня → отображается “дня”.
- Если 5 и больше дней → отображается “дней”.
6. Добавляем визуальный значок, если осталось менее 7 дней
if(floor(dateBetween(now(), prop("Дедлайн"), "hours") / 24) >= -7, "‼️", "")
- Если до дедлайна 7 дней и меньше → добавляется значок «‼️» для акцента.
Дата дедлайна | Сегодня (13 февраля) | Статус |
12 февраля | Просрочено | «Просрочено на 1 день‼️» |
10 февраля | Просрочено | «Просрочено на 3 дня‼️» |
13 февраля | Сегодня | «📅 Сегодня» |
14 февраля | Будущее | «Осталось 1 день‼️» |
16 февраля | Будущее | «Осталось 3 дня‼️» |
20 февраля | Будущее | «Осталось 7 дней» |
22 февраля | ✅ Будущее (далеко) | «Осталось 9 дней» |
(пусто) | ✅ Нет даты | «» |
(завершено) | ✅ Нет статуса | «» |
Теперь ваш Notion автоматически отслеживает дедлайны без ручных обновлений! 📅
- Вы видите, когда дедлайн наступает сегодня.
- Просроченные дедлайны сразу бросаются в глаза.
- Осталось менее 7 дней? Получите предупреждающий знак!
- Формула автоматически склоняет слово “день” правильно.
Попробуйте внедрить эту формулу в свой Notion и настройте её под свои нужды!