Getting Started
Lucid rounds out its shape data capabilities by offering formulas to users. Similar to the way spreadsheet tools allow users to analyze, adjust, and quantify their data, Lucid allows users to run certain formulas on their visual diagrams and associated metadata.
Metadata can be added to shapes in various ways, including linking data from spreadsheets, or adding custom data. Custom data can contain static values, or formulas. To add custom data to a shape, group, or page, simply select that shape and open the data panel. In the data panel, there is a section labeled "Custom Data." Click on the + button to add a custom data value. You can rename it, add a value to the property, an even insert that value onto the shape as text by clicking the +T button that appears when you hover over the property name or value.
Explore below to see a wide variety of formulas that are available and details for how they work.
Syntax
Types
=SINE(0.5 * PI * @Value)
Generally, there are five different types that can be used in the Lucid formula system: strings, numbers, booleans, arrays and objects. Additionally, there are builtin constants (such as
String
Strings are text values that represent a sequence of characters. For example, "Hello, World", "Test", 'Demo123' are all examples of strings. Strings are constructed by paired single (') or double (") quote characters. A string is started with one of the quote characters and is terminated with the same quote character. If a string is uncompleted, the formula will be invalid.
Within a string, the same quote character can be included without stopping the string by doubling the character. Newlines can be added to a formula string in the editor by press shift+enter to add a line break; the line must still be terminated with a matching quote character, however.
Example  Result 

"Joe said, ""Hello, World""."  Joe said, "Hello, World". 
'It isn''t correct'  It isn't correct 
"It isn't correct"  It isn't correct 
'A B' 
A B 
Number
Numbers are numeric values that can be integers (1, 0, 2, etc.) or decimal numbers (0.25, 1.234, etc.). Numbers should not include commas for place separators (for example, 1,000,000 is not a valid number).
Numbers can be defined using scientific notation, which defines the number as a factor and a power of 10. Scientific notation is in the form MeN, which translates into the value (M × 10N). For example, 1.23e4 translates into the value 12300.
Numbers can also be defined as percentages by adding a percent sign at the end (for example, 1.23%). The value used for calculations will be divided by 100 (for 1.23%, the value 0.0123 would be used), but the percentage will correctly display as a percentage in the data property editor.
Example  Result 

1234  1234 
1.23e4  12300 
1.23%  0.0123 (displayed as 1.23%) 
Boolean
Booleans are either true or false and are used in boolean logic (for example, functions like
Array
Arrays are an ordered collection of values indexed by contiguous integers. More details can be found here
Object
Objects are structures that contains keyvalue pairs. More details can be found here
BuiltIn Constants
In the Lucid formula system, some predefined constants can be used to simplify formula writing.
Constant  Value  Description 

E  2.718281828459045  The mathematical constant e, which represents the base of the natural logarithm 
PI  3.141592653589793  The mathematical constant pi. Useful when performing trigonometric functions, such as 
NONE  undefined  Returns undefined 
Operators
=SINE(0.5 * PI * @Value)
In the above formula, the "*" character represents a multiplication operator, and when used multiples the values together. In the example, the expression 0.5 *
Arithmetic Operators
Operator  Examples  Description 

+  1 + 2 @A + 2 @B + @C 
Addition 
  1  2 @A  2 @B  @C 3 @A 
Subtraction or negation 
*  1 * 2 @A * 2 @B * @C 
Multiplication 
/  1 / 2 @A / 2 @B / @C 
Division 
^  1 ^ 2 @A ^ 2 @B ^ @C 
Exponentiation 
Comparison Operators
Operator  Examples  Description 

<  1 < 2 @A < 2 @B < @C 
Less than 
<=  1 <= 2 @A <= 2 @B <= @C 
Less than or equal to 
=  1 = 2 @A = 2 @B = @C 
Equal to 
>=  1 >= 2 @A >= 2 @B >= @C 
Greater than or equal to 
>  1 > 2 @A > 2 @B > @C 
Greater than 
<>  1 <> 2 @A <> 2 @B <> @C 
Not equal 
Text Concatenation Operators
Operator  Examples  Description 

&  "A" & "B" @A & "C" "D" & @B & @C 
Text concatenation. Combines two string together into a single string, for example "Lucid" & "chart" produces the string "Lucidchart". 
References
=SINE(0.5 * PI * @Value)
In the above formula, the "@Value" gets the value of the shape data property "Value". If the shape we are using has a property named "Value" which has the value 5, then the expression above is equivalent to:
=SINE(0.5 * PI * 5)
References can be used to access shape data properties from other shapes, such as the page or shape contained in the current shape's group.
Functions
=SINE(0.5 * PI * @Value)
Functions are operations that expect 0 or more parameters and produce some kind of output. In the above example, the function is named
=SINE(0.5 * PI * 5)
The value of
Some functions take no parameters, and can be used by themselves (with or without parentheses). For example, the
Advanced Syntax
Lambdas
Some functions require the user to specify an expression to evaluate for each item in an array parameter (for example,
=FILTER(this.children, child => child.Value > 5)
In this expression, the
The expression to evaluate in this case is called a lambda, and comes in the form of:
name => (operations using name)
name above tells the expression what to call each item in
=MAP(ARRAY(1, 2, 3), x => x * x)
In this formula, the
Nesting Lambdas
Lambdas can also be nested, for example if a function which expects a lambda parameter calls a function which itself expects a lambda in its lambda. When nesting functions that take lambdas, using different names for each lambda helps to ensure that each item can be referenced uniquely.
Consider the following formula:
=MAP(ARRAY(1, 2, 3), x => FILTER(@arr, y => y > x)
In this formula, the

MAP is called on [1, 2, 3]  For each item in the array:
 x = 1:

FILTER returns the array [1, 2, 3, 4] filtered to only include items above x (1), which is [2, 3, 4]

 x = 2:

FILTER return the array filtered to only include items above x (2), which is [3, 4]

 x = 3:

FILTER return the array filtered to only include items above x (3), which is [4]

 No more items are in array, so the loop stops, returning each item found above as an array: [[2, 3, 4], [3, 4], [4]].
 x = 1:
Shape References
CHILDREN
Gets info about all the child elements of the current point.
If you are in page data, then "children" is all items, including groups, shapes, lines and layers on the page.
If you are inside a group shape or on a layer, then "children" is all shapes within the group or layer.
Syntax
=CHILDREN
Examples
In the following examples, the selected shape is a group with 4 shapes in it, with the following text and values:
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  
Shape 4  6  14 
=CHILDREN
The array of all children of the current shape.
=CHILDREN."Property 1"
=CHILDREN."Property 2"
NOTE: In the example above, the "Property 2" shape data does not exist for shape "Shape 3", so no data is included in the resulting array.
=CHILDREN."Property 3"
CONNECTED
Get a list of references to all shapes that are connected directly to the current shape, via a line.
Syntax
=CONNECTED
Examples
In the following examples, the selected shape is Shape 2
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  8  12 
=CONNECTED
=CONNECTED."Property 1"
CONNECTEDDEEP
Get a list of references to all shapes that are connected to the current shape, via a line, as well as all shapes connected to the connected shapes, etc.
Syntax
=CONNECTEDDEEP
Examples
In the following examples, the selected shape is Shape 2
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  8  12 
=CONNECTEDDEEP
=CONNECTEDDEEP."Property 1"
DESCENDANTS
Get info about all descendants of current object: children, and children of children, etc.
Syntax
=DESCENDANTS
Examples
In the following examples, the selected shape is a group with 6 shapes in it, with the following text and values
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  7  14 
Group 6  8 
"Group 6" is a group with 2 shapes in it, with the following text and values
Text  Property 1  Property 2 

Shape 7  5  12 
Shape 8  10  15 
=DESCENDANTS
=DESCENDANTS."Property 1"
DOWNSTREAM
Gets a list of references to all shapes TO which a line has been drawn FROM the current shape
For example, for two shapes A and B, if a line is drawn from A to B, then B is upstream of A. If another shape C is added, and a line is drawn from B to C, then C is upstream of B. If another shape D is added, and a line is drawn from D to B, then B is upstream of D.
Syntax
=DOWNSTREAM
Examples
In the following examples, the selected shape is Shape 2
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  8  12 
=DOWNSTREAM
=DOWNSTREAM."Property 1"
DOWNSTREAMDEEP
Gets a list of references to all shapes TO which a line has been drawn FROM the current shape, as well as all shape from that are upstream from those shapes, etc.
Syntax
=DOWNSTREAMDEEP
Examples
In the following examples, the selected shape is Shape 2
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  8  12 
=DOWNSTREAMDEEP
=DOWNSTREAMDEEP."Property 1"
PAGE
A reference to the page. Allows fast access to the page data values.
Syntax
=PAGE
Examples
=PAGE
=PAGE."Property 1"
=PAGE."Property 3"
PARENT
Gets info about the parent element of the current item.
If you are in page data, then there is no parent.
If you are in a shape or group shape that is on the page, then the page is the parent.
If you are in a shape or group shape that is on a layer, then the layer is the parent.
If you are in a shape or group shape that is inside a group shape, then the group shape is the parent..
Syntax
=PARENT
Examples
=PARENT
=PARENT."Property 1"
THIS
A reference to a shape itself. It is primarily used to get things on the shape or to reference it. When it is used without referencing items on the shape, it will return the text of the shape.
Syntax
=THIS
Examples
Given that a shape has the following data:
Label  Value 

Property 1  Process 
=THIS."Property 1
UPSTREAM
Gets a list of references to all shapes FROM which a line has been drawn TO the current shape
For example, for two shapes A and B, if a line is drawn from A to B, then A is upstream of B. If another shape C is added, and a line is drawn from B to C, then B is upstream of C. If another shape D is added, and a line is drawn from D to B, then D is upstream of B.
Syntax
=UPSTREAM
Examples
In the following examples, the selected shape is Shape 4
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  8  12 
=UPSTREAM
=UPSTREAM."Property 1"
UPSTREAMDEEP
Gets a list of references to all shapes FROM which a line has been drawn TO the current shape, as well as all shape from that are upstream from those shapes, etc.
Syntax
=UPSTREAMDEEP
Examples
In the following examples, the selected shape is Shape 4
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  13 
Shape 4  6  
Shape 5  8  12 
=UPSTREAMDEEP
=UPSTREAMDEEP."Property 1"
Data References
@
A reference to a shape itself. It is primarily used to get things on the shape or to reference it. When it is used without referencing items on the shape, it will return the text of the shape.
Syntax
=@
Examples
Given that a shape has the following data:
Label  Value 

Property 1  Process 
=@"Property 1"
FIELDLOOKUP
Uses a reference key and the collection name to find a data property.
Syntax
=FIELDLOOKUP(collection, data, key)
Arguments
Argument  Type  Description 

collection  String  The name of the collection to reference 
data  String  The shape data property to reference 
key  String  The key value to find within the data 
Examples
=FIELDLOOKUP("Sheet1", "Employee Name", "123")
INDEX
Returns the value at a given position from an array, starting from 1.
Syntax
=INDEX(array, index)
=array[index]
Arguments
Argument  Type  Description 

array  Array  The array of values from which to retrieve a value 
index  Number  The position within the array to get the value 
Examples
In the following examples, the selected shape is a group with 4 shapes in it, with the following text and values:
Text  Property 1  Property 2 

Shape 1  1  10 
Shape 2  4  18 
Shape 3  2  
Shape 4  6  14 
=CHILDREN."Property 1"[3]
=INDEX(CHILDREN."Property 2", 3)
=CHILDREN."Property 3"[0]
LABEL
Gets the unique shape identifier for the current shape.
Syntax
=LABEL(shape)
Arguments
Argument  Type  Description 

shape  Reference  The item reference 
Examples
=LABEL(THIS)
LOOKUP
Finds data from a collection using a reference key and returns an array of all the data associated with that reference key.
Syntax
=LOOKUP(collection, key)
Arguments
Argument  Type  Description 

collection  String  The name of the collection to reference 
key  String  (Optional) The reference key for the collection 
Examples
=LOOKUP("Sheet1", "123")
=LOOKUP("Sheet1", "123")."Name"
=LOOKUP("Sheet1")."Name"
Logical Statements
AND
Returns true if all of the given expressions/values are true, and false otherwise
Syntax
=AND(expr)
=AND(expr1, expr2, ..., exprN)
Arguments
Argument  Type  Description 

exprN  Boolean  The value to use 
Examples
=AND(false, true)
=AND(true, true)
=AND(1 = 1, 2 = 2)
=AND(@"Property 1" = 1, @"Property 2" >= 4)
IF
Checks the value of an expression and returns a specified value if the expression is true, and returns a different value if not.
Syntax
=IF(expr, resultTrue, resultFalse)
Arguments
Argument  Type  Description 

expr  Boolean  The expression to evaluate when determining which value to return 
resultTrue  Any  The value to return if the expression evaluates to true 
resultFalse  Any  The value to return if the expression evaluates to false 
Examples
=IF(10 < 20, "Yes", "No")
=IF(10 > 20, "Yes", "No")
=IF(@"Property 1" = 1, "A", "B")
IFERROR
Checks if the expression has an error and, returns a replacement value, if so, or the original value otherwise.
Syntax
=IFERROR(expression, replacement)
Arguments
Argument  Type  Description 

expression  Any  The expression to evaluate for errors 
replacement  Any  The value to return if the expression evaluation resulted in an error 
Examples
=IFERROR(1 + [1, 2, 3], 0)
=IFERROR(1 + 2, 0)
IFS
Returns the first matching condition from a list of conditions and corresponding results.
Syntax
=IFS(condition1, result1)
=IFS(condition1, result1, condition2, result2, ..., conditionN, resultN)
Arguments
Argument  Type  Description 

condition  Boolean  The conditions to check 
result  Any  The result for the corresponding condition 
Examples
=IFS(0 = 1, "A", 0 = 2, "B", true, "C")
=IFS(@"Property 6" > 10, "10+", @"Property 6" > 0, "0+")
ISEMPTY
Returns true if the expression is empty.
 Strings passed into the function are checked if they are an empty string.
 If an array is passed into the function, the function will return true only if every item in the flattened array is equal to the empty string.
 If a value that is not a string or array is passed into the function, the value will be converted to a string before checking if the value is an empty string.
 If an object is passed into the function, the function will return true only if the object has no keys.
Syntax
=ISEMPTY(expr)
Arguments
Argument  Type  Description 

expr  String, Array or Object  The value to check for emptiness 
Examples
=ISEMPTY("")
=ISEMPTY(123)
=ISEMPTY(@"Property 1")
=ISEMPTY(@"Property 4")
=ISEMPTY(OBJECT("A", 2))
ISNOTEMPTY
Returns true if the expression is not empty.
 Strings passed into the function are checked if they are not an empty string.
 If an array is passed into the function, the function will return true only if every item in the flattened array is not equal to the empty string.
 If a value that is not a string or array is passed into the function, the value will be converted to a string before checking if the value is not an empty string.
 If an object is passed into the function, the function will return true only if the object has keys.
Syntax
=ISNOTEMPTY(expr)
Arguments
Argument  Type  Description 

expr  String, Array or Object  The value to check for emptiness 
Examples
=ISNOTEMPTY("")
=ISNOTEMPTY(123)
=ISNOTEMPTY(@"Property 1")
=ISNOTEMPTY(@"Property 4")
=ISNOTEMPTY(OBJECT("A", 2))
NOT
Returns true if the given expression/values is false, and false if the given expression is true
Syntax
=NOT(expr)
Arguments
Argument  Type  Description 

exprN  Boolean  The value to use 
Examples
=NOT(false)
=NOT(true)
=NOT(OR(@"Property 1" = 1, @"Property 2" < 4))
OR
Returns true if any of the given expressions/values are true, and false otherwise
Syntax
=OR(expr)
=OR(expr1, expr2, ..., exprN)
Arguments
Argument  Type  Description 

exprN  Boolean  The value to use 
Examples
=OR(false, false)
=OR(false, true)
=OR(true, true)
=OR(1 = 1, 2 = 2)
=OR(@"Property 1" = 1, @"Property 2" >= 4)
RAND
Returns a random value between 0 and 1 (inclusive of 0, exclusive of 1).
Syntax
=RAND
Example
=RAND
RANDBETWEEN
Returns a random integer between min and max (inclusive).
Syntax
=RANDBETWEEN(min, max)
Arguments
Argument  Type  Description 

min  Number  The minimum value that the random integer can be 
max  Number  The maximum value that the random integer can be 
Example
=RANDBETWEEN(1, 5)
SWITCH
Returns the first matching value from a list of values and corresponding results with a specified value.
The
Syntax
=SWITCH(test, value1, result1)
=SWITCH(test, value1, result1, default)
=SWITCH(test, value1, result1, ..., valueN, resultN, default)
Arguments
Argument  Type  Description 

test  Any  The test value to check against each value 
value  Any  The value to compare against the test value. 
result  Any  The result for the corresponding value. 
default  Any  (Optional) The default value to return if no values match the test value. 
Examples
=SWITCH(@"Property 1", 0, "A", 1, "B", "C")
=SWITCH(@"Property 2", 0, "A", 1, "B", "C")
Analytical
COUNT
Counts the number of elements in the specified array.
Syntax
=COUNT(value)
Arguments
Argument  Type  Description 

value  Array  An array of values to count 
Examples
=COUNT([1,2,3])
=COUNT(children)
=COUNT(children."Property 2")
COUNTDEEP
Recursively counts the numbers of elements in the specified array.
Syntax
=COUNTDEEP(value1, value2, ..., valueN)
Arguments
Argument  Type  Description 

value  Array or Any  Any value to count, which can be an array, reference or a single value. 
Examples
=COUNTDEEP(1, 2, 3)
=COUNTDEEP(ARRAY(4, 5), 6)
=COUNTDEEP(children)
=COUNTDEEP(children."Property 2")
COUNTIF
Counts the number of elements in an array that meet the specified condition
Syntax
=COUNTIF(array, expression)
Arguments
Argument  Type  Description 

array  Array  Any value to count, which can be an array, reference or a single value 
expression  Boolean  The expression to evaluate for each item in the flattened array, to determine whether it should be counted or not 
Examples
=COUNTIF(ARRAY(1,2,3), this > 2)
=COUNT(children, this."Property 1" > 2)
COUNTIFDEEP
Recursively counts the number of elements in the specified array which satisfy the given condition.
Syntax
=COUNTIFDEEP(array, expression)
Arguments
Argument  Type  Description 

array  Array  Any value to count, which can be an array, reference or a single value 
expression  Boolean  The expression to evaluate for each item in the flattened array, to determine whether it should be counted or not 
Examples
=COUNTIFDEEP(ARRAY(1, 2, 3), this > 2)
=COUNTIFDEEP(ARRAY(ARRAY(4, 5), 6), this > 4)
FILTER
Returns a filtered list of items from a specified array that match a specified condition.
Syntax
=FILTER(array, expression)
Arguments
Argument  Type  Description 

array  Array  The array to filter 
expression  Boolean  The expression to evaluate for each item in the flattened array, to determine whether it should be counted or not 
Examples
=FILTER(ARRAY(1, 2, 3), this > 1)
=FILTER(children, this."Property 1" > 2)
=FILTER(ARRAY(ARRAY(1,2), ARRAY(3,4,5), ARRAY(6,7)), COUNT(this) > 2)
FILTERDEEP
Returns a recursively filtered list of items from a specified array that match a specified condition.
Syntax
=FILTERDEEP(array, expression)
Arguments
Argument  Type  Description 

array  Array  The array to filter 
expression  Boolean  The expression to evaluate for each item in the flattened array, to determine whether it should be counted or not 
Examples
=FILTERDEEP(ARRAY(1, 2, 3), this > 1)
=FILTERDEEP(children, this."Property 1" > 2)
MAX
Calculates the maximum value of specified numbers.
Syntax
=MAX(number1, number2, ..., numberN)
=MAX(numberArray)
Arguments
Argument  Type  Description 

number  Number or Array  A number or array of numbers to find the maximum of 
Examples
=MAX(1,2,3)
=MAX(ARRAY(4,5),6)
=MAX(children."Property 1")
MEAN
Calculates the mean (average) of specified numbers.
Syntax
=MEAN(number1, number2, ..., numberN)
=MEAN(numberArray)
Arguments
Argument  Type  Description 

number  Number or Array  A number or array of numbers to average 
Examples
=MEAN(1,2,3)
=MEAN(ARRAY(4,5),6)
=MEAN(children."Property 1")
MIN
Calculates the minimum value of specified numbers.
Syntax
=MIN(number1, number2, ..., numberN)
=MIN(numberArray)
Arguments
Argument  Type  Description 

number  Number or Array  A number or array of numbers to find the minimum of 
Examples
=MIN(1,2,3)
=MIN(ARRAY(4,5),6)
=MIN(children."Property 1")
SORT
Sorts the specified list using an optional sort order and expression to control the ordering.
Syntax
=SORT(array)
=SORT(array, order)
=SORT(array, order, expression)
Arguments
Argument  Type  Description 

array  Array  The array to sort 
order  String  (Optional) Ascending or descending order. Should be one of "ASC" or "DESC" 
expression  Any  (Optional) An expression that, when evaluated, is used to sort the array 
Examples
=SORT(ARRAY(3, 1, 2, 4, 0))
=SORT(children, "ASC")
=SORT(children, "DESC", this."Property 1")
SUM
Calculates the arithmetic sum (total) of all specified numbers.
Syntax
=SUM(number1, number2, ..., numberN)
=SUM(numberArray)
Arguments
Argument  Type  Description 

number  Number or Array  A number or array of numbers to sum 
Examples
=SUM(1,2,3)
=SUM(ARRAY(4,5),6)
=SUM(children."Property 1")
Type Checks
ISARRAY
Returns true if the specified value is an array.
Syntax
=ISARRAY(value)
Arguments
Argument  Type  Description 

value  Any  The value to test 
Examples
=ISARRAY(children(this))
=ISARRAY("Name")
=ISARRAY(ARRAY(1, 2))
=ISARRAY(@"Property 1")
ISBOOLEAN
Returns true if the value is a boolean value (true or false).
Syntax
=ISBOOLEAN(value, fuzzy)
Arguments
Argument  Type  Description 

value  Any  The value to test 
fuzzy  Boolean  Specify whether the test should allow conversion 
Examples
=ISBOOLEAN(false)
=ISBOOLEAN(1, true)
=ISBOOLEAN(123)
ISCOLOR
Returns true if the specified value is a color value.
Syntax
=ISCOLOR(value, fuzzy)
Arguments
Argument  Type  Description 

value  Any  The value to test 
fuzzy  Boolean  Specify whether the test should allow conversion 
Examples
=ISCOLOR(RGB(255, 0, 0))
=ISCOLOR("#112233", false)
=ISCOLOR("#112233", true)
=ISCOLOR(@"Property 1")
ISDATE
Returns true if the specified value is a date value.
Syntax
=ISDATE(value, fuzzy)
Arguments
Argument  Type  Description 

value  Any  The value to test 
fuzzy  Boolean  Specify whether the test should allow conversion 
Examples
=ISDATE(NOW)
=ISDATE(DATE(2020, 1, 1))
=ISDATE("20200101T00:00:00", false)
=ISDATE("20200101T00:00:00", true)
=ISDATE(@"Property 1")
ISERROR
Returns true if the provided expression results in an error.
Syntax
=ISERROR(expression)
Arguments
Argument  Type  Description 

expression  Any  The expression to test 
Examples
=ISERROR(1 + [1, 2, 3])
=ISERROR(1 + 2)
ISNOTERROR
Returns true if the provided expression does not result in an error.
Syntax
=ISNOTERROR(expression)
Arguments
Argument  Type  Description 

expression  Any  The expression to test 
Examples
=ISNOTERROR(1 + [1, 2, 3])
=ISNOTERROR(1 + 2)
ISNUMBER
Returns true if the specified value is a number value
Syntax
=ISNUMBER(value, fuzzy)
Arguments
Argument  Type  Description 

value  Any  The value to test 
fuzzy  Boolean  Specify whether the test should allow conversion 
Examples
=ISNUMBER(1)
=ISNUMBER("Name")
=ISNUMBER("1.23", false)
=ISNUMBER("1.23", true)
=ISNUMBER(@"Property 1")
ISOBJECT
Returns true if the specified value is an object value.
Syntax
=ISOBJECT(value)
Arguments
Argument  Type  Description 

value  Any  The value to test 
Examples
=ISOBJECT(1)
=ISOBJECT("Name")
=ISOBJECT(OBJECT("A", 1, "B", 2))
=ISOBJECT(@"Property 1")
ISTEXT / ISSTRING
Returns true if the specified value is a text value.
Syntax
=ISTEXT(value)
=ISSTRING(value)
Arguments
Argument  Type  Description 

value  Any  The value to test 
Examples
=ISTEXT(1)
=ISSTRING("Name")
=ISTEXT(@"Property 1")
String/Number Checks
BETWEEN
Checks if a number is between two other numbers, inclusive. Returns true if the number is between the specified numbers, and false if it is not between those numbers.
Syntax
=BETWEEN(value, low, high)
Arguments
Argument  Type  Description 

value  Number  The value to test 
low  Number  The value to use for the low side of the inclusive range 
high  Number  The value to use for the high side of the inclusive range 
Examples
=BETWEEN(200, 0, 100)
=BETWEEN(10, 5, 15)
=BETWEEN(5, 5, 15)
=BETWEEN(20, 5, 15)
=BETWEEN(@"Property 1", 5, 15)
CONTAINS
Returns true if a property or string contains a value, and returns false otherwise.
Syntax
=CONTAINS(haystack, needle)
Arguments
Argument  Type  Description 

haystack  String or Array  The value to look for the needle in 
needle  Any  The value to search for in the haystack 
Examples
=CONTAINS("xyz", "x")
=CONTAINS("xyz", "a")
=CONTAINS("xyz", "vxyz")
=CONTAINS(@"Property 1", "abc")
DOESNOTCONTAIN
Returns true if a property or string does not contain a value, and returns false otherwise.
Syntax
=DOESNOTCONTAIN(haystack, needle)
Arguments
Argument  Type  Description 

haystack  String or Array  The value to look for the needle in 
needle  Any  The value to search for in the haystack 
Examples
=DOESNOTCONTAIN("xyz", "x")
=DOESNOTCONTAIN("xyz", "a")
=DOESNOTCONTAIN("xyz", "vxyz")
=DOESNOTCONTAIN(@"Property 1", "abc")
ENDSWITH
Returns true if a property or string ends with a value, and returns false otherwise.
Syntax
=ENDSWITH(value, test)
Arguments
Argument  Type  Description 

value  String  The value to check for the ending string 
test  String  The value to look for 
Examples
=ENDSWITH("xyz", "x")
=ENDSWITH("xyz", "a")
=ENDSWITH("xyz", "z")
=ENDSWITH(@"Property 1", "abc")
=ENDSWITH(@"Property 1", "def")
ISEVEN
Returns true if the specified number is even and false if the number is odd.
Syntax
=ISEVEN(number)
Arguments
Argument  Type  Description 

number  Number  The number to test 
Examples
=ISEVEN(1)
=ISEVEN(2)
=ISEVEN(@"Property 1")
ISODD
Returns true if the specified number is odd and false if the number is even.
Syntax
=ISODD(number)
Arguments
Argument  Type  Description 

number  Number  The number to test 
Examples
=ISODD(1)
=ISODD(2)
=ISODD(@"Property 1")
NOTBETWEEN
Checks if a number is not between two other numbers, inclusive. Returns true if the number is not between the specified numbers, and false if it is between those numbers.
Syntax
=NOTBETWEEN(value, low, high)
Arguments
Argument  Type  Description 

value  Number  The value to test 
low  Number  The value to use for the low side of the inclusive range 
high  Number  The value to use for the high side of the inclusive range 
Examples
=NOTBETWEEN(200, 0, 100)
=NOTBETWEEN(10, 5, 15)
=NOTBETWEEN(5, 5, 15)
=NOTBETWEEN(20, 5, 15)
=NOTBETWEEN(@"Property 1", 5, 15)
STARTSWITH
Returns true if a property or string starts with a value, and returns false otherwise.
Syntax
=STARTSWITH(value, test)
Arguments
Argument  Type  Description 

value  String  The value to check for the starting string 
test  String  The value to look for 
Examples
=STARTSWITH("xyz", "x")
=STARTSWITH("xyz", "a")
=STARTSWITH("xyz", "z")
=STARTSWITH(@"Property 1", "abc")
String Manipulation
&
Text concatenation. Combines two strings together into a single string. For example "Lucid" & "chart" produces the string "Lucidchart".
Examples
="A" & "B"
=@A & "C"
="D" & @B & @C
CONCATENATE
Creates a new string by combining all specified strings into a single string
Syntax
=CONCATENATE(string1, string2, ..., stringN)
Arguments
Argument  Type  Description 

string  String  The strings to combine 
Examples
=CONCATENATE("ABC", "DEF", 'GHI")
=CONCATENATE("Hello there, ", @Name, "!")
=CONCATENATE("A", 1, true)
=CONCATENATE("", "A", "")
FIND
Returns the position in the specified string of a substring, starting at the specified start position.
Syntax
=FIND(needle, haystack, start)
Arguments
Argument  Type  Description 

needle  String  The string to find 
haystack  String  The string to search in 
start  Number  (Optional) The index in the haystack to start searching. Defaults to 1 
Examples
=FIND("ABC", "ABCDEF")
=FIND("ABC", "ABCDEF", 2)
=FIND("XYZ", "ABCDEF")
=FIND("X","XXXXXX")
=FIND("Z","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
=FIND("Y", "XYZXYZ", 3)
LEFT
Returns the specified number of characters from the start of the string.
Syntax
=LEFT(string, count)
Arguments
Argument  Type  Description 

string  String  The string to get characters from 
count  Number  The number of characters to get 
Examples
=LEFT("ABCDEF", 2)
=LEFT("GHIJKL", 1)
=LEFT("MNOPQR", 0")
LEN
Returns the length of the string.
Syntax
=LEN(string)
Arguments
Argument  Type  Description 

string  String  The string to find the length of 
Examples
=LEN("Hello World!")
=LEN(@"Property 1")
LOWER
Returns the specified string converted to lowercase.
Syntax
=LOWER(string)
Arguments
Argument  Type  Description 

string  String  The string to convert 
Examples
=LOWER("ABCDE")
REGEX_MATCHALL
Returns all matches in the specified string found by the supplied regex.
Syntax
=REGEX_MATCHALL(regex, string)
Arguments
Argument  Type  Description 

regex  String  The regex to use when looking for matches 
string  String  The string to look for matches in 
Examples
=REGEX_MATCHALL("(o(\sr))", "Hello world")
REGEX_REPLACE
Returns a new string created by replacing all matches in the specified string using the regex and a replacement string.
Syntax
=REGEX_REPLACE(regex, string, replacement)
Arguments
Argument  Type  Description 

regex  String  The regex to use when looking for matches 
string  String  The string to look for matches in 
replacement  String  The string to replace all found matches with 
Examples
=REGEX_REPLACE("b.?", "abc", "ZZZ")
REGEX_TEST
Returns true if the specified string is matched by the supplied regex.
Syntax
=REGEX_TEST(regex, string)
Arguments
Argument  Type  Description 

regex  String  The regex to use when looking for matches 
string  String  The string to look for matches in 
Examples
=REGEX_TEST("b.?", "abc")
=REGEX_TEST("x+", "abc")
REPLACE
Splices a string into the specified string, replacing the characters in the original string from a range of characters.
Syntax
=REPLACE(string, start, count, replacement)
Arguments
Argument  Type  Description 

string  String  The specified string 
start  Number  The index of the specified string in which to start the replacement 
count  Number  The number of characters to replace 
replacement  String  The string to splice into the specified string 
Examples
=REPLACE("Hello!", 6, 0, " world")
=REPLACE("Hello world!", 7, 6, "there")
RIGHT
Returns the specified number of characters from the end of the string.
Syntax
=RIGHT(string, count)
Arguments
Argument  Type  Description 

string  String  The string to get characters from 
count  Number  The number of characters to get 
Examples
=RIGHT("ABCDEF", 2)
=RIGHT("GHIJKL", 1)
=RIGHT("MNOPQR", 0")
SEARCH
Returns the position of the specified search string, starting at an optional start position. Start index can be negative. Allows the wildcard characters ? (to match any single character) and * (to match one or more characters). A ~ before the ? or * character (e.g. "?" or "*") matches the specific character "?" or "*".
Syntax
=SEARCH(needle, haystack, start)
Arguments
Argument  Type  Description 

needle  String  The string to find. The string can contain the wildcard characters ? or * 
haystack  String  The string to search in 
start  Number  (Optional) The index in the haystack to start searching. Defaults to 1 
Examples
=SEARCH("A?C", "ABCDEF")
=SEARCH("A?C", "ABCDEF", 2)
=SEARCH("XYZ", "ABCDEF")
=SEARCH("X*X","XXXXXX")
=SEARCH("Z","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
=SEARCH("Y", "XYZXYZ", 3)
SPLIT
Splits the specified string into an array at the specified separator.
Syntax
=SPLIT(string, separator)
Arguments
Argument  Type  Description 

string  String  The string to split into an array 
separator  String  Character at which to split the string 
Examples
=SPLIT("A_B_C_D", "_")
=SPLIT("Hello", "")
SUBSTITUTE
Replaces a string with another string in a specified string. If an instance number is specified, only substitutes the instanceth match.
Syntax
=SUBSTITUTE(string, old, new, instance)
Arguments
Argument  Type  Description 

string  String  The string to do substitutions within 
old  String  The existing string to replace 
new  String  The new string to use during replacing 
instance  Number  (Optional) Instance found in which substitution occurs 
Examples
=SUBSTITUTE("ABACADAE", "A", "X")
=SUBSTITUTE("ABACADAE", "A", "X", 3)
SUBSTRING / MID
Returns the specified number of characters from a string, starting at the specified start position.
Syntax
=SUBSTRING(string, start, count)
=MID(string, start, count)
Arguments
Argument  Type  Description 

string  String  The string to get characters from 
start  Number  The starting index in the string 
count  Number  The number of characters to return 
Examples
=SUBSTRING("ABC", 1, 1)
=SUBSTRING("DEF", 2, 2)
=MID("ABCDEF", 3, 0)
=SUBSTRING("GHIJKL", 3, 3)
=SUBSTRING("GHIJKL", 0, 3)
=MID("GHIJKL", 10, 1)
=SUBSTRING("GHIJKL", 10, 1)
TRIM
Returns a string where all whitespace characters (spaces, tabs, newlines, etc.) have been removed from both the start and end of the specified string.
Syntax
=TRIM(string)
Arguments
Argument  Type  Description 

string  String  The string to trim whitespace characters from 
Examples
=TRIM("ABC ")
=TRIM(" DEF")
=TRIM(" GHI ")
=TRIM("Hello World")
TRUNCATE
Returns the string truncated to the specified number of characters, with an ellipsis added at the end if truncation occurred.
Syntax
=TRUNCATE(string, length)
Arguments
Argument  Type  Description 

string  String  The string to truncate 
length  Number  Desired length 
Examples
=TRUNCATE("A VERY LONG TEXT", 9)
=TRUNCATE("MEDIUM", 7)
=TRUNCATE("TEXT", 4)
UPPER
Returns the specified string converted to uppercase.
Syntax
=UPPER(string)
Arguments
Argument  Type  Description 

string  String  The string to convert 
Examples
=UPPER("abcde")
=UPPER("hello World!")
Number Manipulation
ABS
Calculates the absolute value of the specified number.
Syntax
=ABS(value)
Arguments
Argument  Type  Description 

value  Number  The value to calculate the absolute value of 
Examples
=ABS(4.5)
=ABS(1)
=ABS(@"Property 1")
ASPERCENT
Formats a number as a percentage. The percentage is calculated as 100 times the number; for example, 0.25 will be formatted as 25%.
Syntax
=ASPERCENT(value)
Arguments
Argument  Type  Description 

value  Number  The number to format as a percentage 
Examples
=ASPERCENT(0.5)
=ASPERCENT(100)
CEIL
Rounds up (to a lesser absolute value) to the nearest multiple of the specified factor. Defaults to a factor of 1.
Syntax
=CEIL(value, factor)
Arguments
Argument  Type  Description 

value  Number  The value to round up 
factor  Number  (Optional) Specified factor 
Examples
=CEIL(3.14)
=CEIL(10, 4)
=CEIL(10, 4)
CLAMP
Limits a value to a specified minimum and maximum value range. If the specified value is below the minimum value or above the maximum value, the minimum value or maximum value, respectively, is returned.
Syntax
=CLAMP(value, min, max)
Arguments
Argument  Type  Description 

value  Number  The value to clamp 
min  Number  The minimum value 
max  Number  The maximum value 
Examples
=CLAMP(3.14159, 0, 10)
=CLAMP(3.14159, 0, 10)
=CLAMP(3.14159, 0, 1)
=CLAMP(3, 1.5, 2.5)
=CLAMP(1, 1.5, 2.5)
=CLAMP(2, 1.5, 2.5)
EXP
Calculates the value of Euler's constant (e) raised to the specified value. Equivalent to e^{value}.
Syntax
=EXP(value)
Arguments
Argument  Type  Description 

value  Number  The value used as the exponent for e 
Examples
=EXP(4.5)
=EXP(1)
=EXP(@"Property 1")
FLOOR
Rounds down (to a lesser absolute value) to the nearest multiple of the specified factor. Defaults to a factor of 1.
Syntax
=FLOOR(value, factor)
Arguments
Argument  Type  Description 

value  Number  The value to round down 
factor  Number  (Optional) Specified factor 
Examples
=FLOOR(3.14)
=FLOOR(10, 4)
=FLOOR(10, 4)
LERP / INTERPOLATE
Calculates the linearly interpolated value between two numbers, with a specified proportion.
Syntax
=LERP(value, a, b)
=INTERPOLATE(value, a, b)
Arguments
Argument  Type  Description 

value  Number  The interpolation value. Value must be between 0 and 1 (values outside of the range will be constrained to that range). 
a  Number  The first value to interpolate between. 
b  Number  The second value to interpolate between. 
Examples
=LERP(0.5, 0, 10)
=LERP(0, 0, 10)
=INTERPOLATE(1, 0, 10)
=LERP(0.5, 2, 6)
LN
Calculates the natural log of the specified number
Syntax
=LN(value)
Arguments
Argument  Type  Description 

value  Number  The value used to calculate the natural log. Must be greater than 0. 
Examples
=LN(4.5)
=LN(E)
=LN(1)
=LN(@"Property 1")
LOG / LOG10
Calculates the base 10 logarithm of the specified number
Syntax
=LOG(value)
=LOG10(value)
Arguments
Argument  Type  Description 

value  Number  The value used to calculate the base 10 logarithm. Must be greater than 0. 
Examples
=LOG(4.5)
=LOG(10)
=LOG10(1)
=LOG(@"Property 1")
MOD / MODULUS
Calculates the modulus of a specified number with a specified divisor. The resulting value is the remainder after division of the value by the divisor.
Syntax
=MOD(value, divisor)
=MODULUS(value, divisor)
Arguments
Argument  Type  Description 

value  Number  The value to modulo 
divisor  Number  The divisor of the modulo operation. Cannot be 0. 
Examples
=MOD(123, 2)
=MOD(3.14159, 2)
=MODULUS(2.178, 1.2)
=MOD(5, 0)
POW / POWER
Calculates the value of the specified number raised to a given exponent
Syntax
=POW(base, exponent)
=POWER(base, exponent)
Arguments
Argument  Type  Description 

base  Number  The base to be raised to the exponent power 
exponent  Number  The exponent 
Examples
=POW(3.14159, 3)
=POW(3.14159, 2)
=POWER(2.718, 0)
=POW(4, 0.5)
=POW(4, 0.5)
PRODUCT
Calculates the product of a list of numbers or arrays of numbers.
Syntax
=PRODUCT(value1, value2, ... valueN)
Arguments
Argument  Type  Description 

value  Number or Array  The values used to calculate the product. Allows either numbers or arrays, which can themselves contain numbers or arrays. 
Examples
=PRODUCT(1, 2, 3, 4, 5, 6, 7)
=PRODUCT(children."Property 1")
=PRODUCT(children.children."Property 2")
ROUND
Rounds a number to specified number of digits.
Syntax
=ROUND(value, digits)
Arguments
Argument  Type  Description 

value  Number  The value to round 
digits  Number  (Optional) The number of digits to round the value, defaults to 0 
Examples
=ROUND(3.14159, 3)
=ROUND(3.14159, 2)
=ROUND(2.718)
=ROUND(5, 3)
ROUNDDOWN
Rounds a number down (to a lesser value) to the specified number of digits.
Syntax
=ROUNDDOWN(value, digits)
Arguments
Argument  Type  Description 

value  Number  The value to round 
digits  Number  (Optional) The number of digits to round the value, defaults to 0 
Examples
=ROUNDDOWN(2.5)
=ROUNDDOWN(3.14159, 2)
=ROUNDDOWN(8192, 2)
ROUNDUP
Rounds a number up (to a greater value) to the specified number of digits.
Syntax
=ROUNDUP(value, digits)
Arguments
Argument  Type  Description 

value  Number  The value to round 
digits  Number  (Optional) The number of digits to round the value, defaults to 0 
Examples
=ROUNDUP(2.5)
=ROUNDUP(3.14159, 2)
=ROUNDUP(8192, 2)
SIGN
Calculates the sign of the specified number as 1, 0, or 1, depending on whether the specified number is negative, zero, or positive, respectively
Syntax
=SIGN(value)
Arguments
Argument  Type  Description 

value  Number  The value to calculate sign 
Examples
=SIGN(3.1459)
=SIGN(2)
=SIGN(0)
SQRT
Returns the square root of a number.
Syntax
=SQUAREROOT(value)
=SQRT(value)
Arguments
Argument  Type  Description 

value  Number  The value used to calculate the square root 
Examples
=SQRT(16)
=SQRT(PI)
=SQUAREROOT(4)
=SQRT(COUNT(children))
TRUNC
Calculates the value of the specified number with its fractional component removed. The TRUNC function does not perform any rounding.
Syntax
=TRUNC(value)
Arguments
Argument  Type  Description 

value  Number  The value to truncate 
Examples
=TRUNC(3.1459)
=TRUNC(1.9)
=TRUNC(2.1)
=TRUNC(2.9)
=TRUNC(2)
=TRUNC(0)
Arrays
ARRAY
Creates an array of all supplied values
Syntax
=ARRAY(value1, value2, ...)
=ARRAY()
Arguments
Argument  Type  Description 

value  Any  The value for the specified item, values can be different types 
Examples
=ARRAY("A", 2, true)
=ARRAY()
=ARRAY(1, ARRAY(2, 3), 4)
FLATARRAY / FLATTEN
Creates an array of all supplied values, flattening any arrays so that the array is a single array of values.
Syntax
=FLATARRAY(value1, value2, ...)
=FLATTEN(value1, value2, ...)
Arguments
Argument  Type  Description 

value  Any  The value for the specified item, values can be different types 
Examples
=FLATARRAY(123)
=FLATARRAY("A", 2, true)
=FLATTEN(1, ARRAY(2, 3), 4)
=FLATTEN(1, ARRAY(2, ARRAY(3, 4)))
RANGE
Creates an array of numbers with values ranging from the start number to the end number, by repetitively adding the step value to calculate values.
Syntax
=RANGE(start, end, step)
=RANGE(start, end)
Arguments
Argument  Type  Description 

start  Number  The starting value for the range 
end  Number  The ending value for the range 
step  Number  (Optional) The step to use to calculate the subsequent numbers for the range, defaults to 1 
Examples
=RANGE(1, 10)
=RANGE(1, 10, 2)
=RANGE(0, 5, 1)
=RANGE(0, 10, 1)
Dates
DATE
Creates a date from the specified values.
Syntax
=DATE(year)
=DATE(year, month)
=DATE(year, month, day)
=DATE(year, month, day, hours)
=DATE(year, month, day, hours, minutes)
=DATE(year, month, day, hours, minutes, seconds)
=DATE(year, month, day, hours, minutes, seconds, milliseconds)
=DATE(year, month, day, hours, minutes, seconds, milliseconds, offset)
Arguments
Argument  Type  Description 

year  Number  The year for the new date 
month  Number  (Optional) The month for the new date, defaults to 1 (January) 
day  Number  (Optional) The day for the new date, defaults to 1 
hours  Number  (Optional) The hours for the new date, defaults to 0 (midnight) 
minutes  Number  (Optional) The minutes for the new date, defaults to 0 
seconds  Number  (Optional) The seconds for the new date, defaults to 0 
milliseconds  Number  (Optional) The milliseconds for the new date, defaults to 0 
offset  Number  (Optional) The timezone offset for the new date, in minutes, defaults to the browser's current timezone offset 
Examples
In the following examples, the current browser has a timezone offset of 7 hours. For more information about offsets see UTC Offset.
=DATE(2020)
=DATE(2020, 2)
=DATE(2020, 2, 3)
=DATE(2020, 2, 3, 4)
=DATE(2020, 2, 3, 4, 5)
=DATE(2020, 2, 3, 4, 5, 6)
=DATE(2020, 2, 3, 4, 5, 6, 7)
=DATE(2020, 2, 3, 4, 5, 6, 7, 720)
DATEADD
Creates a new date by ading an offset to a specified date.
Syntax
=DATEADD(interval, count, date)
Arguments
Argument  Type  Description 

interval  String  The type of interval to find the difference of Valid intervals are:

count  Number  The number of intervals to add to the specified date 
date  Date  The date to add intervals to 
Examples
=DATEADD("YEAR", 1, DATE(2019, 01, 01))
=DATEADD("MONTHS", 3, DATE(2019, 01, 01))
DATEDIFF
Calculates the difference between two specified dates in the given interval. If date2 is before date1, then the result will be negative.
Syntax
=DATEDIFF(interval, date1, date2)
Arguments
Argument  Type  Description 

interval  String  The type of interval to find the difference of Valid intervals are:

date1  Date  The starting date 
date2  Date  The ending date 
Examples
=DATEDIFF("YEARS", DATE(2019), DATE(2020))
=DATEDIFF("YEARS", DATE(2021), DATE(2019))
=DATEDIFF("MINUTES", DATE(2020, 1, 2, 3), DATE(2020, 2, 3, 4))
DAY
Gets the day component of the specified date.
Syntax
=DAY(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=DAY(DATE(2020, 2, 3, 4, 5))
=DAY(DATE(2020, 4, 5, 6, 7))
DAYOFWEEK
Calculates the day of the week (17) for a specified date where the week starts on Monday.
Syntax
=DAYOFWEEK(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=DAYOFWEEK(DATE(2020, 2, 3, 4, 5))
=DAYOFWEEK(DATE(2020, 3, 4, 5, 6))
DAYSAGO
Gets the number of days between the specified date and now.
Syntax
=DAYSAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=DAYSAGO("20190101")
=DAYSAGO("20200101")
=DAYSAGO("20200103")
EXCELDATE
Creates a date from a numeric Excel date value assuming the value is stored as the number of days since Dec 30, 1899 (where 1 is 12/31/1899).
Syntax
=EXCELDATE(value)
Arguments
Argument  Type  Description 

value  Number  The number of days since Dec 30, 1899 
Examples
=EXCELDATE(1)
=EXCELDATE(43800)
FORMAT_DATE
Returns a string representing the date, formatted according to the given pattern. Pattern formatting is generally the same as supported by Excel.
Syntax
=FORMAT_DATE(date, pattern)
Arguments
Argument  Type  Description 

date  Date  The date to format 
pattern  String  The pattern by which to format the date 
Examples
=FORMAT_DATE(DATE(2019, 12, 25),"MMdd")
=FORMAT_DATE(DATE(2020, 2, 3, 4, 5),"YYYYMMdd, hh:mm")
HOUR
Gets the hour component of the specified date.
Syntax
=HOUR(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=HOUR(DATE(2020, 2, 3, 4, 5))
=HOUR(DATE(2020, 4, 5, 6, 7))
HOURSAGO
Gets the number of hours between the specified date and now.
Syntax
=HOURSAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=HOURSAGO("20190101")
=HOURSAGO("20200101")
=HOURSAGO("20200103")
ISODATE
Creates a date from an ISO8601formatted string. See ISO8601 formatting for more details.
Syntax
=ISODATE(value)
Arguments
Argument  Type  Description 

value  String  ISO8601formatted string 
Examples
In the following examples, the current browser has a timezone offset of 7 hours. For more information about offsets see UTC Offset.
=ISODATE("20200101T00:00:00+0000")
=ISODATE("20160601T04:15:00+0000")
=ISODATE("20200203")
=ISODATE("202001")
=ISODATE("2021W011")
MINUTE
Gets the minute component of the specified date.
Syntax
=MINUTE(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=MINUTE(DATE(2020, 2, 3, 4, 5))
=MINUTE(DATE(2020, 4, 5, 6, 7))
MINUTESAGO
Gets the number of minutes between the specified date and now.
Syntax
=MINUTESAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=MINUTESAGO("20190101")
=MINUTESAGO("20200101")
=MINUTESAGO("20200103")
MONTH
Gets the month component of the specified date.
Syntax
=MONTH(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=MONTH(DATE(2020, 2, 3, 4, 5))
=MONTH(DATE(2020, 4, 5, 6, 7))
MONTHSAGO
Gets the number of months between the specified date and now.
Syntax
=MONTHSAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=MONTHSAGO("20190601")
NETWORKDAYS
Gets the number of working days between a specified beginning and ending date, inclusive. Working days exclude weekends and any dates optionally provided as holidays.
Syntax
=NETWORKDAYS(start, end, holidays)
Arguments
Argument  Type  Description 

start  Date  The beginning date to use for the calculation 
end  Date  The end date to use for the calculation 
holidays  Array(Date)  (Optional) Dates to exclude from the count of working days 
Examples
=NETWORKDAYS("20200401", "20200410")
=NETWORKDAYS("20200401", "20200401")
=NETWORKDAYS("20200407", "2020042")
=NETWORKDAYS("20200401 :20:00", "20200410 7:00")
=NETWORKDAYS("20200401", "20200415", ["20200407", "20200403", "20200331"])
NOW
Returns the current date and time. Automatically updates every second.
Syntax
=NOW()
Examples
=NOW
QUARTER
Gets the calendar quarter for the specified date. For more details see Quarters.
Syntax
=QUARTER(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=QUARTER(DATE(2020, 2, 3, 4, 5))
=QUARTER(DATE(2020, 4, 5, 6, 7))
SECOND
Gets the second component of the specified date.
Syntax
=SECOND(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=SECOND(DATE(2020, 2, 3, 4, 5))
=SECOND(DATE(2020, 4, 5, 6, 7, 8))
SECONDSAGO
Gets the number of seconds between the specified date and now.
Syntax
=SECONDSAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=SECONDSAGO("20190101")
=SECONDSAGO("20200101")
=SECONDSAGO("20200103")
UNIXDATE
Creates a date from the number of seconds since the Unix epoch (January 1, 1970, 00:00:00 UTC).
Syntax
=UNIXDATE(value)
Arguments
Argument  Type  Description 

value  Number  number of seconds 
Examples
=UNIXDATE(1593561600)
=UNIXDATE(1607136108)
UTCDATE
Creates a date from the specified values.
Syntax
=UTCDATE(year)
=UTCDATE(year, month)
=UTCDATE(year, month, day)
=UTCDATE(year, month, day, hours)
=UTCDATE(year, month, day, hours, minutes)
=UTCDATE(year, month, day, hours, minutes, seconds)
=UTCDATE(year, month, day, hours, minutes, seconds, milliseconds)
Arguments
Argument  Type  Description 

year  Number  The year for the new date 
month  Number  (Optional) The month for the new date, defaults to 1 (January) 
day  Number  (Optional) The day for the new date, defaults to 1 
hours  Number  (Optional) The hours for the new date, defaults to 0 (midnight) 
minutes  Number  (Optional) The minutes for the new date, defaults to 0 
seconds  Number  (Optional) The seconds for the new date, defaults to 0 
milliseconds  Number  (Optional) The milliseconds for the new date, defaults to 0 
Examples
In the following examples, the current browser has a timezone offset of 7 hours. For more information about offsets see UTC Offset.
=UTCDATE(2020)
=UTCDATE(2020, 2)
=UTCDATE(2020, 2, 3)
=UTCDATE(2020, 2, 3, 4)
=UTCDATE(2020, 2, 3, 4, 5)
=UTCDATE(2020, 2, 3, 4, 5, 6)
=UTCDATE(2020, 2, 3, 4, 5, 6, 7)
WEEK
Gets the week component of the specified date. For more information see ISO Week Date.
Syntax
=WEEK(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=WEEK(DATE(2020, 2, 3, 4, 5))
=WEEK(DATE(2020, 4, 5, 6, 7))
WEEKSAGO
Gets the number of weeks between the specified date and now.
Syntax
=WEEKSAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=WEEKSAGO("20190101")
=WEEKSAGO("20200101")
=WEEKSAGO("20200103")
WEEKYEAR
Gets the year for the associated ISO week of the specified date. For more information see ISO Week Date.
Syntax
=WEEKYEAR(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=WEEKYEAR(DATE(2010, 1, 2))
=WEEKYEAR(DATE(2020, 4, 5, 6, 7))
WORKDAY
Given a start date, finds the date a specified number of working days later. A list of holidays can optionally be provided, indicating the given dates are not working days.
Syntax
=WORKDAY(start, workdays, holidays)
Arguments
Argument  Type  Description 

start  Date  The beginning date to use for the calculation 
workdays  Number  The number of working days to add to the start date 
holidays  Array(Date)  (Optional) Dates to exclude from the count of working days 
Examples
=WORKDAY("20200401", 7)
=WORKDAY("20200408", 5)
=WORKDAY("20200401", 3, ["20200403", "20200331", "20200416"])
YEAR
Gets the year component of the specified date.
Syntax
=YEAR(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
=YEAR(DATE(2020, 2, 3, 4, 5))
=YEAR(DATE(2016, 4, 5, 6, 7))
YEARSAGO
Gets the number of years between the specified date and now.
Syntax
=YEARSAGO(date)
Arguments
Argument  Type  Description 

date  Date  The date to use for calculation 
Examples
The following examples assume the current date is January 2, 2020 at 12:00pm
=YEARSAGO("20190101")
=YEARSAGO("20200101")
=YEARSAGO("20200103")
Objects
GET
Gets the associated value from an object for the specified key.
Syntax
=GET(obj, key)
Arguments
Argument  Type  Description 

obj  Object  The object to use. 
key  String  The key to use within the object, will be converted to a string type if the value given is a nonstring 
Examples
In these examples, the shape data property "Object" is an object with the following keyvalue pairs:
=GET(@Object, "A")
=GET(@Object, "D")
GROUPBY
Creates an object from an array and a key expression which determines the key for each item, and a value expression which determines the value.
Syntax
=GROUPBY(array, keyExpression, valueExpression)
Arguments
Argument  Type  Description 

array  String  The array to use. 
keyExpression  Any  The expression which determines which key to use for the item in the array. 
valueExpression  Array  The expression which determines which value to use for the item in the array. 
Examples
For these examples, the shape data property "Array" is an array with the values:
=GROUPBY(@Array, x => x[1], x => x[2])
=GROUPBY(@Array, this[1], this[3])
HAS
Returns true if the object or reference has a value with the specified key.
Syntax
=HAS(obj, key)
Arguments
Argument  Type  Description 

obj  Any  The object or reference to test 
key  String  The key to look for 
Examples
=HAS(OBJECT("A", 1, "B", 2), "A")
=HAS(OBJECT("A", 1, "B", 2), "C")
=HAS(this, "Property 1)
=HAS(this, "Property 2)
KEYS
Return the array of strings which will can be referenced using GET() on the parameter. Defaults to
Syntax
=KEYS(obj)
Arguments
Argument  Type  Description 

obj  Any  The object or reference to test 
Example
=KEYS(OBJECT("A", 1, "B", 2))
OBJECT
Creates an object that can be queried by key. Arguments are passed in as either an array of keyvalue pairs or as paired key and value parameters.
Syntax
=OBJECT(key1, value1, key2, value2, ...)
=OBJECT(keyvalues)
Arguments
Argument  Type  Description 

keyN  String  The key for the keyvalue pair. If the key is a nonstring it will be converted to a string type 
valueN  Any  The value for the specified key. Values can be different types 
keyvalues  Array  An array of keyvalue pairs. Each element in the array should be an array with two values, the first representing the key and the second representing the value. 
Examples
=OBJECT("A", 2)
=OBJECT("A", 1, "B", 2)
=OBJECT(ARRAY("A", 1), ARRAY("B", 2))
VALUES
Returns the dereferenced values of all keys available on the specified parameter. Defaults to
Syntax
=VALUES(obj)
Arguments
Argument  Type  Description 

obj  Any  The object or reference to test 
Examples
=VALUES(OBJECT("A", 1, "B", 2))
=VALUES()
Smart Containers
CONTAINER
Gets the container that contains the selected item in a Smart Container.
Syntax
=CONTAINER
Examples
=CONTAINER
=CONTAINER.CONTENTS
CONTENTS
Gets the contents of the selected Smart Container.
Syntax
=CONTENTS
Examples
=CONTENTS
=COUNT(CONTENTS)
=SUM(CONTENTS."Property 1")
Trigonometric
ACOS
Calculates the inverse cosine of the specified number (arccosine), in radians.
Syntax
=ACOS(value)
Arguments
Argument  Type  Description 

value  Number  The cosine value, in the range (1, 1) 
Examples
=ACOS(1)
=ACOS(0)
=ACOS(@"Property 1")
ACOSH
Calculates the inverse hyperbolic cosine of the specified number.
Syntax
=ACOSH(value)
Arguments
Argument  Type  Description 

value  Number  The value which must be greater than 1 
Examples
=ACOSH(1)
=ACOSH(0)
=ACOSH(@"Property 1")
ACOT
Calculates the inverse cotangent of the specified number (arccotangent), in radians.
Syntax
=ACOT(value)
Arguments
Argument  Type  Description 

value  Number  The cotangent value 
Examples
=ACOT(1)
=ACOT(0)
=ACOT(@"Property 1")
ACOTH
Calculates the inverse hyperbolic cotangent of the specified number.
Syntax
=ACOTH(value)
Arguments
Argument  Type  Description 

value  Number  The value, must not be in the range (1, 1) 
Examples
=ACOTH(2)
=ACOTH(0)
=ACOTH(@"Property 1")
ASIN
Calculates the inverse sine of the specified number (arcsine), in radians.
Syntax
=ASIN(value)
Arguments
Argument  Type  Description 

value  Number  The sine value 
Examples
=ASIN(1)
=ASIN(0)
=ASIN(@"Property 1")
ASINH
Calculates the inverse hyperbolic sine of the specified number.
Syntax
=ASINH(value)
Arguments
Argument  Type  Description 

value  Number  The value 
Examples
=ASINH(1)
=ASINH(0)
=ASINH(@"Property 1")
ATAN
Calculates the inverse tangent of the specified number (arctangent), in radians.
Syntax
=ATAN(value)
Arguments
Argument  Type  Description 

value  Number  The tangent value 
Examples
=ATAN(1)
=ATAN(0)
=ATAN(@"Property 1")
ATAN2
Calculates the inverse tangent of the specified x and ycoordinates (arctangent).
The arctangent is calculated as the angle (in radians) from the xaxis to a line containing the origin (0, 0) and the point (x, y).
Syntax
=ATAN2(x, y)
Arguments
Argument  Type  Description 

x  Number  The xcoordinate 
y  Number  The ycoordinate 
Examples
=ATAN2(0, 1)
=ATAN2(1, 0)
=ATAN2(@"Property 1", @"Property 2")
ATANH
Calculates the inverse hyperbolic tangent of the specified number.
Syntax
=ATANH(value)
Arguments
Argument  Type  Description 

value  Number  The value, in the range (1, 1) 
Examples
=ATANH(0.5)
=ATANH(0)
=ATANH(@"Property 1")
COS / COSINE
Calculates the cosine, using the specified angle in radians.
Syntax
=COS(angle)
=COSINE(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=COS(PI)
=COSINE(0)
=COS(@"Property 1")
COSH
Calculates the hyperbolic cosine of the specified angle, in radians.
Syntax
=COSH(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=COSH(1)
=COSH(0)
=COSH(@"Property 1")
COT
Calculates the cotangent, using the specified angle in radians.
Syntax
=COT(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=COT(PI / 4)
=COT(0)
=COT(@"Property 1")
DEGREES
Converts the specified angle from radians to degrees.
Syntax
=DEGREES(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=DEGREES(PI)
=DEGREES(0)
=DEGREES(@"Property 1")
RADIANS
Converts the specified angle from degrees to radians.
Syntax
=RADIANS(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in degrees 
Examples
=RADIANS(180)
=RADIANS(0)
=RADIANS(@"Property 1")
SIN / SINE
Calculates the sine, using the specified angle in radians.
Syntax
=SIN(angle)
=SINE(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=SIN(PI)
=SINE(0)
=SIN(@"Property 1")
SINH
Calculates the hyperbolic sine of the specified angle, in radians.
Syntax
=SINH(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=SINH(1)
=SINH(0)
=SINH(@"Property 1")
TAN / TANGENT
Calculates the tangent, using the specified angle in radians.
Syntax
=TAN(angle)
=TANGENT(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=TAN(PI / 4)
=TANGENT(0)
=TAN(@"Property 1")
TANH
Calculates the hyperbolic tangent of the specified angle, in radians.
Syntax
=TANH(angle)
Arguments
Argument  Type  Description 

angle  Number  The angle in radians 
Examples
=TANH(1)
=TANH(0)
=TANH(@"Property 1")
Color Creation
HEXCOLOR
Creates a new color from the specified hexadecimal color string.
Syntax
=HEXCOLOR(hexstring)
Arguments
Argument  Type  Description 

hexstring  String  The hex color string, in the form #RRGGBBAA or #RRGGBB 
Examples
=HEXCOLOR("#00ff00")
=HEXCOLOR("#f96b1388")
HSL / HSLA
Creates a new color from the specified hue, saturation, lightness and alpha values.
Syntax
=HSL(hue, saturation, lightness)
=HSLA(hue, saturation, lightness, alpha)
Arguments
Argument  Type  Description 

hue  Number  The hue value, from 0 to 255 
saturation  Number  The saturation value, from 0 to 255 
lightness  Number  The lightness value, from 0 to 255 
alpha  Number  (Optional) The alpha value, a decimal value from 0 to 1 
Examples
=HSLA(0, 1, 0.5, 1)
=HSLA(0, 1, 1, 0.5)
HSV / HSVA
Creates a new color from the specified hue, saturation, value and alpha values.
Syntax
=HSV(hue, saturation, value)
=HSVA(hue, saturation, value, alpha)
Arguments
Argument  Type  Description 

hue  Number  The hue value, from 0 to 255 
saturation  Number  The saturation value, from 0 to 255 
value  Number  The value value, from 0 to 255 
alpha  Number  (Optional) The alpha value, a decimal value from 0 to 1 
Examples
=HSVA(0, 0.5, 1, 1)
=HSVA(110, 0.5, 0.5, 0.5)
RGB / RGBA
Creates a new color from the specified red, green, blue and alpha values.
Syntax
=RGB(red, green, blue)
=RGBA(red, green, blue, alpha)
Arguments
Argument  Type  Description 

red  Number  The red value, from 0 to 255 
green  Number  The green value, from 0 to 255 
blue  Number  The blue value, from 0 to 255 
alpha  Number  (Optional) The alpha value, a decimal value from 0 to 1 
Examples
=RGBA(0, 255, 0, 0.5)
=RGBA(0, 128, 0, 1)
Color Values
ALPHA
Gets the alpha channel of the specified color. Returns a decimal from 0 to 1.
Syntax
=ALPHA(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=ALPHA("#0000ff")
=ALPHA(RGB(128, 128, 128, 0.5))
=ALPHA(0)
BLUE
Gets the blue channel of the specified color in the RGB colorspace. Returns an integer from 0 to 255.
For more information about the RGB colorspace, see: https://en.wikipedia.org/wiki/RGB
Syntax
=BLUE(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=BLUE("#0000ff")
=BLUE(RGB(128, 128, 128))
=BLUE(0)
GREEN
Gets the green channel of the specified color in the RGB colorspace. Returns an integer from 0 to 255.
For more information about the RGB colorspace, see: https://en.wikipedia.org/wiki/RGB
Syntax
=GREEN(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=GREEN("#0000ff")
=GREEN(RGB(128, 128, 128))
=GREEN(0)
HSVHUE
Gets the hue channel of the specified color in the HSV colorspace. Returns an integer from 0 to 360.
For more information about hue, see: https://en.wikipedia.org/wiki/Hue
Syntax
=HSVHUE(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=HSVHUE("#0000ff")
=HSVHUE(RGB(0, 255, 0))
=HSVHUE(0)
HSVSATURATION
Gets the saturation channel of the specified color in the HSV colorspace. Returns a decimal number from 0 to 1.
For more information about hue, see: https://en.wikipedia.org/wiki/HSL_and_HSV#Saturation
Syntax
=HSVSATURATION(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=HSVSATURATION("#bf4040")
=HSVSATURATION(RGB(0, 255, 0))
=HSVSATURATION(0)
HSVVALUE
Gets the value channel of the specified color in the HSV colorspace. Returns a decimal from 0 to 1.
For more information about value, see: https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma
Syntax
=HSVVALUE(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=HSVVALUE("#0000ff")
=HSVVALUE(RGB(0, 128, 0))
=HSVVALUE(0)
HUE
Gets the hue channel of the specified color in the HSL colorspace. Returns an integer from 0 to 360.
For more information about hue, see: https://en.wikipedia.org/wiki/Hue
Syntax
=HUE(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=HUE("#0000ff")
=HUE(RGB(0, 255, 0))
=HUE(0)
LIGHTNESS
Gets the lightness channel of the specified color in the HSL colorspace. Returns a decimal number from 0 to 1.
For more information about hue, see: https://en.wikipedia.org/wiki/HSL_and_HSV#Lightness
Syntax
=LIGHTNESS(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=LIGHTNESS("#bf4040")
=LIGHTNESS(RGB(255, 255, 255))
=LIGHTNESS(0)
LUMINANCE
Calculates the luma (perceptual brightness) of the specified color. Uses SMPTE C / Rec. 709 coefficients, as recommended in WCAG 2.0.
For more information, see: https://www.w3.org/TR/2008/RECWCAG2020081211/#relativeluminancedef
Syntax
=LUMINANCE(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=LUMINANCE("#0000ff")
=LUMINANCE(RGB(0, 255, 0))
=LUMINANCE(0)
RED
Gets the red channel of the specified color in the RGB colorspace. Returns an integer from 0 to 255.
For more information about the RGB colorspace, see: https://en.wikipedia.org/wiki/RGB
Syntax
=RED(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=RED("#0000ff")
=RED(RGB(128, 0, 0))
=RED(0)
SATURATION
Gets the saturation channel of the specified color in the HSL colorspace. Returns a decimal number from 0 to 1.
For more information about hue, see: https://en.wikipedia.org/wiki/HSL_and_HSV#Saturation
Syntax
=SATURATION(color)
Arguments
Argument  Type  Description 

color  Color  The color 
Examples
=SATURATION("#bf4040")
=SATURATION(RGB(0, 255, 0))
=SATURATION(0)
Color Operations
CONTRAST
Determines which of the two specified colors has a higher contrast against the given color.
Syntax
=CONTRAST(color, dark, light, threshold)
=CONTRAST(color)
Arguments
Argument  Type  Description 

color  Color  The color to use when determining contrast. 
dark  Color  (Optional) The dark color to use. Default to black. 
light  Color  (Optional) The light color to use. Default to white. 
threshold  Number  (Optional) The percentage threshold specifying where the transition from dark to light is. Defaults to 0.43 
Examples
=CONTRAST("#00ff00"
=CONTRAST("#ff0000"
DARKEN
Creates a new color from the specified color by decreasing the lightness in the HSL color space.
Syntax
=DARKEN(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to darken. 
amount  Number  The percentage amount to darken the given color, from 0 to 1. 
Examples
=DARKEN("#ffffff"
=DARKEN(RGB(0, 255, 0)
DESATURATE
Creates a new color from the specified color by decreasing the saturation in the HSL color space.
Syntax
=DESATURATE(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to desaturate. 
amount  Number  The percentage amount to desaturate the given color, from 0 to 1. 
Examples
=DESATURATE("#bf4040"
FADE
Creates a new color from the specified color by setting the opacity to a specific value.
Syntax
=FADE(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to fade. 
amount  Number  The opacity value, from 0 to 1. 
Examples
=FADE("#0000ffff"
FADEIN
Creates a new color from the specified color by increasing the opacity.
Syntax
=FADEIN(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to fade in. 
amount  Number  The percentage amount to increase opacity the given color, from 0 to 1. 
Examples
=FADEIN("#00ff0088"
FADEOUT
Creates a new color from the specified color by decreasing the opacity.
Syntax
=FADEOUT(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to fade out. 
amount  Number  The percentage amount to decrease opacity the given color, from 0 to 1. 
Examples
=FADEOUT("#00ff0088"
GRAYSCALE / GREYSCALE
Creates a new color from the specified color by removing all saturation in the HSL color space.
Syntax
=GRAYSCALE(color)
=GREYSCALE(color)
Arguments
Argument  Type  Description 

color  Color  The color to convert to grayscale. 
Examples
=GRAYSCALE("#00ff00"
=GRAYSCALE("#1071e5"
LIGHTEN
Creates a new color from the specified color by increasing the lightness in the HSL color space.
Syntax
=LIGHTEN(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to lighten. 
amount  Number  The percentage amount to lighten the given color, from 0 to 1. 
Examples
=LIGHTEN("#000000"
=LIGHTEN(RGB(0, 255, 0)
MIX
Creates a new color by combining two specified colors in a given proportion.
Syntax
=MIX(color1, color2, amount)
Arguments
Argument  Type  Description 

color1  Color  The first color to mix. 
color2  Color  The second color to mix. 
amount  Number  The percentage amount to lighten the given color, from 0 to 1. 
Examples
=MIX("#00ff00"
=MIX("#00ff00"
SATURATE
Creates a new color from the specified color by increasing the saturation in the HSL color space.
Syntax
=SATURATE(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to change saturation. 
amount  Number  The percentage amount to saturate the given color, from 0 to 1. 
Examples
=SATURATE("#bf4040"
SHADE
Creates a new color by mixing the specified color with black in a given proportion.
Syntax
=SHADE(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to shade. 
amount  Number  The percentage balance point between the given color and black, from 0 to 1. 
Examples
=SHADE("#00ff00"
SPIN
Creates a new color from the specified color by rotating the hue in the HSL color space.
Syntax
=SPIN(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to spin. 
amount  Number  The number of degrees to rotate the hue for the given color, from 0 to 360. 
Examples
=SPIN("#00ff00"
TINT
Creates a new color by mixing the specified color with white in a given proportion.
Syntax
=TINT(color, amount)
Arguments
Argument  Type  Description 

color  Color  The color to tint. 
amount  Number  The percentage balance point between the given color and white, from 0 to 1. 
Examples
=TINT("#00ff00"
Color Blending
BLENDMULTIPLY
Creates a new color by multiplying the corresponding RGB channels of the specified colors, resulting in a darker color.
Syntax
=BLENDMULTIPLY(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDMULTIPLY("#0080ff"
=BLENDMULTIPLY("#ffffff"
BLENDSCREEN
Creates a new color by inverting and then multiplying the corresponding RGB channels of the specified colors, resulting in a lighter color.
Syntax
=BLENDSCREEN(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDSCREEN("#0080ff"
=BLENDSCREEN("#2080d0"
BLENDOVERLAY
Creates a new color from the two provided by performing an overlay blend, making light colors lighter and dark colors darker.
Syntax
=BLENDOVERLAY(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDOVERLAY("#2080d0"
=BLENDOVERLAY("#0080ff"
BLENDSOFTLIGHT
Creates a new color by performing a soft light blend.
Syntax
=BLENDSOFTLIGHT(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDSOFTLIGHT("#2080d0"
=BLENDSOFTLIGHT("#0080ff"
BLENDHARDLIGHT
Creates a new color by performing a hard light blend.
Syntax
=BLENDHARDLIGHT(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDHARDLIGHT("#2080d0"
=BLENDHARDLIGHT("#0080ff"
BLENDDIFFERENCE
Creates a new color by subtracting one provided color from the other.
Syntax
=BLENDDIFFERENCE(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDDIFFERENCE("#00ffff"
BLENDEXCLUSION
Creates a new color by performing an exclusion blend.
Syntax
=BLENDEXCLUSION(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDEXCLUSION("#0080ff"
=BLENDEXCLUSION("#0080ff"
BLENDAVERAGE
Blends the two provided colors by averaging the respective values in each channel.
Syntax
=BLENDAVERAGE(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDAVERAGE("#00ff00"
BLENDNEGATION
Creates a new color from the two provided using a negation function.
Syntax
=BLENDNEGATION(color1, color2)
Arguments
Argument  Type  Description 

color1  Color  The first color to blend 
color2  Color  The second color to blend 
Examples
=BLENDNEGATION("#1180f0"
=BLENDNEGATION("#00ffff"