In our scheduling table for projects (table is called "Deliverables"), we have 6 sequential dates that tend to move frequently:
- Kickoff Date
- Creative Connect
- Round 1 to Client
- Round 2 to Client
- Round X to Client
- Due Date
I've been trying to write a formula (fairly unsuccessfully after researching much of the forum) that will look at all six of these dates and return the closest date that is TODAY or later. All 6 dates are in a single table and apply to all records. We're putting them in a column named "Next Due Date"
What we currently have:
IF(
OR({Kickoff Date}, {Creative Connect}, {Round 1 to Client}, {Round 2 to Client}, {Round X to Client}, {Due Date}),
DATETIME_PARSE(
MIN(
IF({Kickoff Date}, (VALUE(DATETIME_FORMAT({Kickoff Date}, 'YYYYMMDD'))-VALUE(DATETIME_FORMAT(TODAY(), 'YYYYMMDD')))),
IF({Creative Connect}, (VALUE(DATETIME_FORMAT({Creative Connect}, 'YYYYMMDD'))-VALUE(DATETIME_FORMAT(TODAY(), 'YYYYMMDD')))),
IF({Round 1 to Client}, (VALUE(DATETIME_FORMAT({Round 1 to Client}, 'YYYYMMDD'))-VALUE(DATETIME_FORMAT(TODAY(), 'YYYYMMDD')))),
IF({Round 2 to Client}, (VALUE(DATETIME_FORMAT({Round 2 to Client}, 'YYYYMMDD'))-VALUE(DATETIME_FORMAT(TODAY(), 'YYYYMMDD')))),
IF({Round X to Client}, (VALUE(DATETIME_FORMAT({Round X to Client}, 'YYYYMMDD'))-VALUE(DATETIME_FORMAT(TODAY(), 'YYYYMMDD')))),
IF({Due Date}, (VALUE(DATETIME_FORMAT({Due Date}, 'YYYYMMDD'))-VALUE(DATETIME_FORMAT(TODAY(), 'YYYYMMDD'))))
),
'D/M/YYYY'
)
)
That's one version and we also tried some variations of this as well:
IF(
OR({Kickoff Date}, {Creative Connect}, {Round 1 to Client}, {Round 2 to Client}, {Round X to Client}, {Due Date}),
DATETIME_PARSE(
MIN(
IF({Kickoff Date}, DATETIME_DIFF({Kickoff Date}, TODAY())),
IF({Creative Connect}, DATETIME_DIFF({Creative Connect}, TODAY())),
IF({Round 1 to Client}, DATETIME_DIFF({Round 1 to Client}, TODAY())),
IF({Round 2 to Client}, DATETIME_DIFF({Round 2 to Client}, TODAY())),
IF({Round X to Client}, DATETIME_DIFF({Round X to Client}, TODAY())),
IF({Due Date}, DATETIME_DIFF({Due Date}, TODAY()))
),
'D/M/YYYY'
)
)
Thanks!
