Progress
if(empty(prop("Dates")) or start(prop("Dates")) == end(prop("Dates")), toNumber(""), if(now() > end(prop("Dates")), 1, round(dateBetween(now(), start(prop("Dates")), "days") / dateBetween(end(prop("Dates")), start(prop("Dates")), "days") * 1000) / 1000))
Explanation
if(empty(prop("Dates")) or start(prop("Dates")) == end(prop("Dates")), toNumber(""),
If Dates is empty or the start date is the same as the end date (meaning there’s likely no end date selected), display nothing.
if(now() > end(prop("Dates")), 1,
Otherwise, if the current date is greater than the end date of Dates, display 100%.
round(dateBetween(now(), start(prop("Dates")), "days") / dateBetween(end(prop("Dates")), start(prop("Dates")), "days") * 1000) / 1000))
Otherwise, divide the number of days between the start date of Dates and the current date by the total number of days between the start and end dates of Dates. Note: make sure to change the number format of the formula to Percent.