General Caster uses the same syntax used in Microsoft Excel formulas.
Although Formula column syntax is similar to General Caster syntax, there are some differences.
If you are converting all your formulas from Formula column to General Caster, you can't simply copy the formula from the column and paste it into the formula composer in General Caster.
In the Formula column, when you click on a column reference, {Column}
is added to the text. General Caster uses a slightly different reference, for example {item's Column}
. Just click on the corresponding column button at the bottom of formula composer in General Caster to get the correct column reference.
Keep in mind that, due to how monday.com works, you can have multiple columns with the same name. To prevent misleading references, make sure the columns you use in the formula have a unique name.
In addition, there are the following differences.
Formula function | Corresponding General Caster function |
---|---|
ADD_DAYS |
Not available. Use TEXT(DATEVALUE({item's Date}) + 5, "YYYY-MM-DD") |
DIVIDE |
Not available. Use {item's Number 1} / {item's Number 2} |
FORMAT_DATE |
TEXT |
HOURS_DIFF |
HOUR |
MINUS |
Not available. Use {item's Number 1} - {item's Number 2} |
MULTIPLY |
Not available. Use {item's Number 1} * {item's Number 2} |
SUBTRACT_DAYS |
Not available. Use TEXT(DATEVALUE({item's Date}) - 5, "YYYY-MM-DD") |
WORKDAYS |
WORKDAY |
{Timeline#Start} |
LEFT({item's Timeline}, 10) |
{Timeline#End} |
RIGHT({item's Timeline}, 10) |
{Time Tracking#Hours} |
HOUR({item's Time Tracking}) |
{Time Tracking#Minutes} |
MINUTE({item's Time Tracking}) |
{Time Tracking#Seconds} |
SECOND({item's Time Tracking}) |
Native monday.com's Formula column doesn't actually contain what you see as value in the column. The result is calculated on client side so it can't be used as input for your formula in General Caster (and in all other workflows and chart).
If you want to use the result of a native Formula column in General Caster, you need to integrate it into your General Caster's formula, following the instruction you find in the section "Differences between General Caster and Formula column".
You can also chain multiple General Caster integrations casting on different column. For example:
General Caster supports subitems, mirrored summary columns and other columns that can contain multiple values.
For these columns, General Caster provides helper functions to retrieve a single value, for example the lowest number in the group or the latest date, or to perform basic math calculations, like getting the sum of multiple numbers or calculate the average, before using the result in your formula.
Helper functions require a M plan or higher.
Function | Useful for Column | Description |
---|---|---|
MONDAY.GENERAL.COUNT |
Any | Returns the number of items in the column |
MONDAY.NUMBER.MIN |
Number | Returns the lowest number |
MONDAY.NUMBER.MAX |
Number | Returns the highest number |
MONDAY.NUMBER.SUM |
Number | Returns the sum of all the numbers |
MONDAY.NUMBER.AVG |
Number | Returns the average (arithmetic mean) of all the numbers |
MONDAY.DATE.MIN |
Date and Timeline | Returns the earliest date in YYYY-MM-DD format |
MONDAY.DATE.MAX |
Date and Timeline | Returns the latest date in YYYY-MM-DD format |
MONDAY.DATE.TIMELINE |
Date and Timeline | Returns a timeline from earliest to latest date in YYYY-MM-DD+YYYY-MM-DD format |
MONDAY.DURATION.MIN |
Time Tracking | Returns the shortest period in HH:MM:SS format |
MONDAY.DURATION.MAX |
Time Tracking | Returns the longest period in HH:MM:SS format |
MONDAY.DURATION.SUM |
Time Tracking | Returns the sum of all the periods in HH:MM:SS format |
MONDAY.DURATION.AVG |
Time Tracking | Returns the average period in HH:MM:SS format |
MONDAY.TIMELINE.SUM |
Timeline | Returns the sum of days contained in all timelines |
Existing helper functions are now deprecated. They keep working but will soon removed. Please update all your formulas containing the following functions:
HELPER.COUNT
HELPER.MIN
HELPER.MAX
HELPER.SUM
HELPER.AVG
HELPER.EARLIEST
HELPER.LATEST
HELPER.EARLIESTLATEST
You can treat most column and values retrieved and casted by General Caster as simple text or numbers. Columns with multiple values, like dropdowns, are returned as first_value+second_value+third_value
. Columns with "rich" values, like locations, are returned as first_part:second_part:third_part
.
Column | Value | Example |
---|---|---|
Item Name |
Name of the item Paid plan required |
"Item 1" |
Item Group |
Group of the item Paid plan required |
"Group Title" |
Checkbox | Boolean value | true if column is checked, false otherwise |
Country | ISO 2-letter Country code | "IT" or "US" |
Date | ISO 8601 date/time | "2013-02-08" or "2013-02-08 17:30:00" (time must be in UTC) |
Dropdown | One or more labels separated by plus | "Red" or "Red+White+Green" |
Email address and displayed name separated by colon | "email@company.com:Company Inc." |
|
File (readonly) |
One or more file names separated by plus Paid plan required |
"document.doc" or "document.doc+data.xls" |
Hour | ISO 8601 time | "17:30" |
Jira (readonly) |
Link to the corresponding item in Jira L plan required |
"https://monday.atlassian.net/browse/TBT-1" |
Link | Web address and displayed text separated by colon. Escape : occurences in the URL with \ . |
"https://monday.omnidea.it:Monday" or "https://monday.omnidea.it?key\:value:Monday link including \:" |
Location | Latitude, longitude and displayed text separated by colon | "45.438611:12.326667:Venice" |
Long Text | Simple text | "Lorem ipsum dolor sit amet" |
Mirror |
One or more values separated by plus Paid plan required |
"69420" if only one item is linked or "69420+42069" if two items are linked |
Number | Simple numbers | 420 |
People |
ID:type:name separated by plus Paid plan required |
"69420:person:Tim Apple+42069:team:Management" |
Phone | Phone number and ISO 2-letter Country code separated by colon | "42069420:US" |
Rating | A number between 1 and the rating scale defined in the column | 5 |
Status | Status label | "Done" |
Tags | One or more tag IDs separated by plus | "69420" or "69420+42069" |
Team | Team ID | "69420" |
Text | Simple text | "Lorem ipsum dolor sit amet" |
Time Tracking (readonly) | Time passed in HH:MM:SS format | 01:23:45 for 1 hour, 23 mins and 45 secs. See available functions to extract hours, minutes and seconds. |
Timeline | Two ISO 8601 dates separated by plus | "2013-02-08+2013-02-20" |
Week | Two ISO 8601 dates separated by plus starting at the beginning of the week defined in your account and ending 7 days later | "2013-02-08+2013-02-14" |
World Clock | ISO timezone | "Europe/Rome" |
A date value retrieved by General Caster from a Date column is a string in the YYYY-MM-DD
format, for example a simple formula like {item's Date}
returns 2013-02-08
.
If you need to use it without any date calculations, like combining two dates from two different Date columns to create a Timeline, just use the CONCATENATE
function to get the correct Timeline format described above: CONCATENATE({item's From}, "+", {item's To})
.
If you need to perform calculations with your date before casting the result, like adding or subtracting days, extracting the weekday and so forth, you need to convert the date from a string in YYYY-MM-DD
format to a valid date value using the DATEVALUE
function.
So, the formula DATEVALUE({item's Date}) + 5
will return a new date that is 5 days after the one set in Date column.
This result is still not ready to be casted into a destination Date column, because monday.com requires a string in the YYYY-MM-DD
format, as explained above.
TEXT
function to convert it back into the correct format. For example the formula TEXT(DATEVALUE({item's Date}) + 5, "YYYY-MM-DD")
takes a date from the Date column, converts it into a date value, adds 5 days and converts it back to a string ready to be casted.
Visit the Ideas page, containing some popular Date formulas, to get inspiration for your next formula.
If you cast a wrong string (not in the YYYY-MM-DD
format), the destination Date column could show a weird date, like many years in the past or in the future. Follow instructions in the Debug section to check if your formula result is correct.
As monday.com doesn't display mirror column in columns dropdown, use the dedicated "cast result to mirrored column" integration, that requires you to type the ID of the mirrored column.
Column ID is displayed at the top of the menu that appears when you click on the green arrow beside column title.
If you don't see it, enable Column IDs displaying by following the steps below:
"Cast result to mirrored column" integration requires a paid plan.
Limitation: The integration doesn't work if multiple boards are connected in the corresponding "Connected Boards" column.
Sometimes you want to leave a column value unchanged until a condition is verified.
In this case, use "DO-NOTHING"
as result of your formula.
For example, using IF({item's Status} = "Done", "Completed", "DO-NOTHING")
formula, the destination column will be updated with "Completed" value only when Status will be set to "Done".
If a formula cannot correctly evaluate a result, General Caster displays an error value, such as #DIV/0!, #NAME?, #NUM! and #VALUE!. Each error type has different causes, and different solutions.
Error | Meaning | Solution |
---|---|---|
#DIV/0! | General Caster displays this error when a number is divided either by zero (0) or by a cell that contains no value. | Add an error handler like IFERROR . |
#NAME? | This error is displayed when General Caster does not recognize text in a formula. For example, a range name or the name of a function may be spelled incorrectly. | If you’re using a function, make sure the function name is spelled correctly. |
#NUM! | General Caster displays this error when a formula or function contains invalid numeric values. | Check the value is a valid number. |
#VALUE! | General Caster can display this error if your formula includes cells that contain different data types. | Convert data type before performing calculations. For example, use DATEVALUE to convert a string to a date. |
Before casting formula result into destination columns, temporary cast it into a Text column to make sure the value is in the right format.