Skip to content

Instantly share code, notes, and snippets.

@khalidx
Last active August 28, 2023 11:52
Show Gist options
  • Save khalidx/66fd49ef9b72899e263f1f25d9db7e2a to your computer and use it in GitHub Desktop.
Save khalidx/66fd49ef9b72899e263f1f25d9db7e2a to your computer and use it in GitHub Desktop.
A Notion formula for calculating sprints.

Given a date field and a sprint size (10 days), this formula calculates the number of sprints remaining (integer) until the end of the year.

This formula can be used in a Notion formula field.

floor(max((dateBetween(dateAdd(dateAdd(start(prop("Date")), 11 - month(start(prop("Date"))), "months"), 31 - date(start(prop("Date"))), "days"), start(prop("Date")), "days") - dateBetween(end(prop("Date")), start(prop("Date")), "days")), 0) / 10)

Here's an explanation of what is going on:

const lastMonthOfYear = dateAdd(start(prop("Date")), 11 - month(start(prop("Date"))), "months")
const lastDayOfYear = dateAdd(lastMonthOfYear, 31 - date(start(prop("Date"))), "days")
const daysUntilEndOfYear = dateBetween(lastDayOfYear, start(prop("Date")), "days")
const daysRemainingAfterDateRange = max((daysUntilEndOfYear - dateBetween(end(prop("Date")), start(prop("Date")), "days")), 0)
const sprintsRemaining = floor(daysRemainingAfterDateRange / 10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment