Functions of the monday Formula column
ADD_DAYS, FORMAT_DATE, HOURS_DIFF, WORKDAYS, MINUS and the other Formula column functions work in General Caster too, plus regular expressions.
A formula copied from a monday Formula column works in General Caster as well. Replace each column reference such as {Date} with the one from the formula composer, for example {item's Date}. The spreadsheet functions such as IF, SUM, TEXT and WORKDAY are the same. The functions below exist only in monday, and General Caster has them too:
| Function | Gives | Example |
|---|---|---|
MINUS(a, b) |
a − b | MINUS({item's Budget}, {item's Spent}) |
MULTIPLY(a, b) |
a × b | MULTIPLY({item's Hours}, 45) |
DIVIDE(a, b) |
a ÷ b | DIVIDE({item's Done}, {item's Total}) |
ADD_DAYS(date, days) |
The date moved forward, as YYYY-MM-DD, ready for a Date column | ADD_DAYS({item's Start}, 15) |
SUBTRACT_DAYS(date, days) |
The date moved back | SUBTRACT_DAYS({item's Deadline}, 7) |
ADD_MINUTES(date, minutes) |
The date and time moved forward, as YYYY-MM-DD HH:MM | ADD_MINUTES({item's Meeting}, 90) |
SUBTRACT_MINUTES(date, minutes) |
The date and time moved back | SUBTRACT_MINUTES({item's Meeting}, 30) |
FORMAT_DATE(date, format) |
The date written as you like; without a format, like Nov 6, 2026 |
FORMAT_DATE({item's Date}, "DD/MM/YYYY") |
HOURS_DIFF(end, start) |
The time between two hours, as HH:MM | HOURS_DIFF({item's End}, {item's Start}) → 08:30 |
WORKDAYS(end, start) |
Working days (Monday to Friday) between two dates, both included | WORKDAYS({item's To}, {item's From}) |
The formats of FORMAT_DATE use these codes: YYYY 2026, YY 26, MMMM November, MMM Nov, MM 11, M 11, DD 06, D 6, Do 6th, dddd Friday, ddd Fri, HH 14, hh 02, h 2, mm 05, ss 09, A PM. Text in square brackets is written as it is: "D MMM [at] HH:mm" gives 6 Nov at 14:05.
Regular expressions
Regular expressions find text by its pattern: an email address, an order number, a VAT number.
| Function | Gives | Example |
|---|---|---|
REGEXEXTRACT(text, pattern) |
The first part that matches, or the part in brackets; #N/A if nothing matches |
REGEXEXTRACT({item's Subject}, "Order #(\d+)") → 4521 |
REGEXREPLACE(text, pattern, replacement) |
The text with every match replaced; $1, $2 are the parts in brackets |
REGEXREPLACE({item's Name}, "(\w+) (\w+)", "$2 $1") |
REGEXMATCH(text, pattern) |
TRUE if the text matches | REGEXMATCH({item's VAT}, "^IT\d{11}$") |
A pattern that is not valid gives #VALUE!. Patterns are limited to 500 characters and texts to 50,000.
These functions are available in the recipes created from November 2026. Recipes created earlier calculate as before: there they give
#NAME?. To use them, add the recipe again from the General Caster recipes.