Functions and formulas
Inline Table Editing provides opportunity to work with formulas.
You can use more than 300 formulas grouped into categories such as math, financial, logical, and many other.
To find more information about supported operators, please navigate to Basic formulas and calculations
To read more about formulas, please open Built-in Functions
Basic formulas and calculations
Overview
The operators specify what types of actions are performed on arguments (operands) in the formula. The Inline Table Editing macro supports the operators that are common in spreadsheet software. They are calculated in a specific order, which can be altered by parentheses.
Currently, it supports the following operators:
-
Unary operators
-
Binary arithmetic operators
-
Comparison operators
-
Concatenation operator
-
Reference operators
Unary operators
The unary operators have only one argument (operand). For example, when a number is passed to the unary negation operation, it returns the negative value of that number.
|
Operator |
Meaning |
Example |
Description |
|---|---|---|---|
|
– |
Unary minus |
-a |
Returns the negative of its argument. |
|
+ |
Unary plus |
+a |
Returns the positive of its argument. |
|
% |
Percent |
a% |
Calculates the percent of an argument. |
Binary arithmetic operators
The binary arithmetic operators enable the computation of basic mathematical operations. They don’t have to be wrapped with any functions. This table shows the basic behavior of the binary arithmetic operators:
|
Operator |
Meaning |
Example |
Description |
|---|---|---|---|
|
+ |
Addition |
a + b |
Add the two arguments. |
|
– |
Subtraction |
a – b |
Subtract the second argument from the first argument. |
|
* |
Multiplication |
a * b |
Multiply the two arguments. |
|
/ |
Division |
a / b |
Divide the first argument by the second argument. |
|
^ |
Exponentiation |
a ^ b |
Raise the first argument by the power of the second argument. |
Comparison operators
When used in a formula, the binary relational operators return Boolean or logical values. Here are some very general rules:
|
Operator |
Meaning |
Example |
Description |
|---|---|---|---|
|
= |
Equal to |
a = b |
True if a is equal to b. |
|
< |
Less than |
a < b |
True if a is less than b. |
|
> |
Greater than |
a > b |
True if a is greater than b. |
|
<= |
Less than or equal |
a <= b |
True if a is less than or equal to b. |
|
>= |
Greater than or equal |
a >= b |
True if a is greater than or equal to b. |
|
<> |
Not equal to |
a <> b |
True if a is not equal to b. |
Concatenation operator
The concatenation operator is used to combine multiple text strings into a single value.
|
Operator |
Meaning |
Example |
Description |
|---|---|---|---|
|
& |
Concatenation |
“a” & “b” |
Concatenates two arguments (left and right) into one |
Reference operators
The reference operators are used to perform calculations of combined ranges.
|
Operator |
Meaning |
Example |
Description |
|---|---|---|---|
|
: (colon) |
Range operator |
A1:B1 |
Makes one reference to multiple cells between the two specified references. |
|
, (comma) |
Union operator |
A1:B1,A2:B2 |
Returns the intersection of multiple ranges. |
|
(space) |
Intersection operator |
A1:B1 A2:B2 |
Finds the intersection of the two ranges. |
Working with decimals
If you want to work with decimals and do some calculations using formulas, please use a comma as a delimeter. For example, 3 and a half would be written as 3.5, and 2 and a quarter would be 2.25.
Read next https://actonic.atlassian.net/wiki/spaces/ITE/pages/6137872395 , https://actonic.atlassian.net/wiki/spaces/ITE/pages/6138495047
Built-in Functions
Overview
The Inline Table Editing macro provides you with extensive calculation capabilities based on spreadsheet notation formulas. It comes with a library of 300+ functions grouped into categories such as math and trigonometry, engineering, statistical, financial, and logical. With these functions, you’ll be able to create complex data entry rules, just like in popular business applications.
You can select the most common functions with just a few clicks – just like you know it from Excel.
Features
-
High-speed formula calculations
-
Function syntax compatible with Excel and Google Sheets
-
Support for wildcard characters
-
Support for CRUD operations
-
Uses GPU acceleration for better performance
Function categories
Here you can see in which categories our functions are grouped:
-
Date and time
-
Information functions
-
Logical
-
Lookup and reference
-
Math and trigonometry functions
-
Statistical functions
-
Text
-
Financial
-
Engineering
-
Array manipulation
-
Matrix functions
-
Operator
Date and time
|
Function ID |
Description |
Syntax |
|---|---|---|
|
DATE |
Calculates a date specified by year, month, day, and displays it in formatting of the cell. |
DATE(Year,Month,Day) |
|
DATEDIF |
Calculates the distance between two dates, in the specified unit. |
DATEDIF(Date1,Date2,Units) |
|
DAYS |
Calculates the difference between two date values. |
DAYS(TODAY(), DATE(yyyy,mm,dd)) |
|
TODAY |
Returns the current date. |
TODAY() |
|
WEEKDAY |
Computes a number between 1-7 indicating the day of week. |
WEEKDAY(Date,Type) |
|
WEEKNUM |
Returns a week number that corresponds to the calendar week of year. |
WEEKNUM(Date,Type) |
Full list of available “Date and time” functions: https://handsontable.github.io/hyperformula/guide/built-in-functions.html#date-and-time
Logical
|
Function ID |
Description |
Syntax |
|---|---|---|
|
AND |
Returns TRUE if all arguments are TRUE. |
AND(Logicalvalue1,Logicalvalue2 …Logicalvalue30) |
|
FALSE |
Returns the logical value FALSE. |
FALSE() |
|
IF |
IF function runs a logical test and returns one value for a TRUE result, and another for a FALSE result. |
IF(Test,Then value,Otherwisevalue) |
|
IFNA |
Returns the value if the cell does not contain the #N/A (value not available) error value, or the alternative value if it does. |
IFNA(Value,Alternate_value) |
|
IFERROR |
Returns the value if the cell does not contain an error value, or the alternative value if it does. |
IFERROR(Value,Alternate_value) |
|
NOT |
Complements (inverts) a logical value. |
NOT(Logicalvalue) |
|
SWITCH |
Evaluates a list of arguments, consisting of an expression followed by a value. |
SWITCH(Expression1,Value1[, Expression2,Value2[…, Expression_n,Value_n]]) |
|
OR |
Returns TRUE if at least one argument is TRUE. |
OR(Logicalvalue1,Logicalvalue2 …Logicalvalue30) |
|
TRUE |
The logical value is set to TRUE. |
TRUE() |
|
XOR |
Returns true if an odd number of arguments evaluates to TRUE. |
XOR(Logicalvalue1,Logicalvalue2 …Logicalvalue30) |
Lookup and reference
|
Function ID |
Description |
Syntax |
|---|---|---|
|
CHOOSE |
Uses an index to return a value from a list of up to 30 values. |
CHOOSE(Index,Value1,…,Value30) |
|
COLUMN |
Returns the column number of a given reference or a formula reference if no argument is given. |
COLUMNS([Reference]) |
|
COLUMNS |
Returns the number of columns in the given reference. |
COLUMNS(Array) |
|
FORMULATEXT |
Returns a formula in a given cell as a string. |
FORMULATEXT(Reference) |
|
HLOOKUP |
Searches down horizontally with reference to adjacent cells. |
HLOOKUP(Search_Criterion,Array, Index,Sort_Order) |
|
INDEX |
Returns a value from a range of cells by row and column number. |
INDEX(Range,Value) |
|
MATCH |
Returns the relative position of an element in an array that matches a specified value. |
MATCH(Searchcriterion, Lookuparray,Type) |
|
OFFSET |
Returns the value of a cell offset by a certain number of rows and columns from a given reference point. |
OFFSET(Reference,Rows, Columns,Height,Width) |
|
ROW |
Returns the row number of a given reference or formula reference if argument not given. |
ROW([Reference]) |
|
ROWS |
Returns the number of rows in the given reference. |
ROWS(Array) |
|
VLOOKUP |
Searches vertically with reference to adjacent cells to the right. |
VLOOKUP(Search_Criterion,Array,Index,Sort_Order) |
Math and trigonometry functions
|
Function ID |
Description |
Syntax |
|---|---|---|
|
ABS |
Returns the absolute value of a number. |
ABS(Number) |
|
CEILING |
Rounds up a number to the nearest multiple of significance. |
CEILING(Number,Significance) |
|
COUNTUNIQUE |
Counts the number of unique values in a list of specified values and ranges. |
COUNTUNIQUE(Value1,[Value2, …]) |
|
DECIMAL |
Converts a text with characters from a number system to a positive integer in the specified base radix. |
DECIMAL(“Text”,Radix) |
|
EVEN |
Rounds a positive number up to the nearest even integer and rounds a negative number down to the nearest even integer. |
EVEN(Number) |
|
FLOOR |
Rounds a number down to the nearest multiple of significance. |
FLOOR(Number,Significance) |
|
GCD |
Calculates the greatest common divisor of numbers. |
GCD(Number1,Number2,…) |
|
INT |
Rounds a number down to the nearest integer. |
INT(Number) |
|
MOD |
Returns the remainder when one integer is divided by another. |
MOD(Dividend,Divisor) |
|
PI |
Returns 3.14159265358979, the value of the mathematical constant PI with 14 decimal places. |
PI() |
|
POWER |
Returns a number that has been increased by another number. |
POWER(Base,Exponent) |
|
PRODUCT |
Returns the product of numbers. |
PRODUCT(Number1,Number2, …,Number30) |
|
QUOTIENT |
Returns the integer part of a division. |
QUOTIENT(Dividend,Divisor) |
|
RAND |
Returns a random number between 0 and 1. |
RAND() |
|
RANDBETWEEN |
Returns a random integer between two numbers. |
RAND(Lowerbound,Upperbound) |
|
ROMAN |
Converts a number to Roman form. |
ROMAN(Number,[Mode]) |
|
ROUND |
Rounds a number to a certain number of decimal places. |
ROUND(Number,Count) |
|
ROUNDDOWN |
Rounds a number down, toward zero, to a certain precision. |
ROUNDDOWN(Number,Count) |
|
ROUNDUP |
Rounds a number up, away from zero, to a certain precision. |
ROUNDUP(Number,Count) |
|
SQRT |
Returns the positive square root of a number. |
SQRT(Number) |
|
SUM |
Returns the sum of values supplied. These values can be numbers, cell references, ranges, arrays, and constants, in any combination. Arguments: Example: Quick usage (auto function): https://share.vidyard.com/watch/BM1Mtk84Uj9n9kbPCtcpbY? |
SUM(number1,number2,…, number30) |
|
SUMIF |
Adds cells specified by given criteria. |
SUMIF(Range,Criteria,Sumrange) |
|
SUMIFS |
It is a function to sum cells that meet multiple criteria. SUMIFS can be used to sum values when corresponding cells meet criteria based on dates, numbers, and text. Arguments: Examples: SUMIFS returns a sum of values in column F where the color in column C is “red”. |
SUMIFS(sum_Range, Criterion_range1,Criterion1[ ; Criterion_range2,Criterion2 [,…]]) |
|
SUMPRODUCT |
Multiplies the corresponding elements in the given arrays and returns the sum of these products. |
SUMPRODUCT(Array1,Array2,…,Array30) |
|
TRUNC |
Truncates a number by removing decimal places. |
TRUNC(Number,Count) |
Full list of available “Math and trigonometry functions” functions: https://handsontable.github.io/hyperformula/guide/built-in-functions.html#math-and-trigonometry
Statistical functions
|
Function ID |
Description |
Syntax |
|---|---|---|
|
AVERAGE |
Returns the average of the arguments. |
AVERAGE(Number1,Number2, …Number30) |
|
AVERAGEIF |
Returns the arithmetic average of all cells in a range that satisfy a given condition. |
AVERAGEIF(Range,Criterion[, Average_Range]) |
|
COUNT |
Counts how many numbers are in the list of arguments. |
COUNT(Value1,Value2,…,Value30) |
|
COUNTA |
Counts (numbers and text) how many values are in the list of arguments. |
COUNTA(Value1,Value2,… Value30) |
|
COUNTBLANK |
Returns the number of empty cells. |
COUNTBLANK(Range) |
|
COUNTIF |
Returns the number of cells that meet with certain criteria within a cell range. |
COUNTIF(Range,Criteria) |
|
COUNTIFS |
Returns the number of rows or columns that meet the criteria in multiple ranges. |
COUNTIFS(Range1,Criterion1[, Range2,Criterion2[,…]]) |
|
MAX |
Returns the maximum value in a list of arguments. |
MAX(Number1,Number2,…Number30) |
|
MEDIAN |
Returns the median of a set of numbers. |
MEDIAN(Number1,Number2, …Number30) |
|
MIN |
Returns the minimum value in a list of arguments. |
MIN(Number1,Number2,…Number30) |
Full list of available “Statistical” functions: https://handsontable.github.io/hyperformula/guide/built-in-functions.html#statistical
Text
|
Function ID |
Description |
Syntax |
|---|---|---|
|
CHAR |
Converts a number into a character according to the current code table. |
CHAR(Number) |
|
CLEAN |
Returns text that has been “cleaned” of line breaks and other non-printable characters. The CLEAN function accepts a text string and returns text that has been “cleaned” of line breaks and other non-printable characters. |
CLEAN(“Text”) |
|
CODE |
Returns a numeric code for the first character in a text string. |
CODE(“Text”) |
|
CONCATENATE |
Concatenates (joins) up to 30 values together and returns the result as text. Example: =CONCATENATE(A1, “, “,B1) |
CONCATENATE(“Text1”,…, “Text30”) |
|
EXACT |
Compares two text strings, considering upper and lower case characters, and returns TRUE if they are the same, and FALSE if not. EXACT is case-sensitive. Example: |
EXACT(“Text_1”,”Text_2”) |
|
FIND |
Returns the position (as a number) of one text string inside another. When the text is not found, FIND returns a #VALUE error. To return the position of the letter “A” in the word “Apple”: |
=FIND (“find_text”, “within_text”, [start_num]) |
|
LEFT |
Extracts a given number of characters from the left side of a supplied text string. |
LEFT(“Text”,Number) |
|
LEN |
Returns the length of a given text string as the number of characters. LEN will also count characters in numbers, but number formatting is not included. Example: |
LEN(“Text”) |
|
LOWER |
Returns the text converted to lowercase. |
LOWER(“Text”) |
|
MID |
Returns a substring of a given length starting from Start_position. Arguments:
|
MID(“Text”,Start_position,Length) |
|
PROPER |
Capitalizes words in a given text string. Arguments:
|
PROPER(“Text”) |
|
REPLACE |
Replaces substring of text of a given length that starts at given position.
|
REPLACE(“Text”,Start_position,Length,New_text) or REPLACE(Number,Start_position,Length,New_text) |
|
REPT |
Repeats the text a given number of times. |
REPT(“Text”,Number) |
|
RIGHT |
Extracts a given number of characters from the right side of a text string. |
RIGHT(“Text”,Number) |
|
SEARCH |
Returns the position of one text string inside another. (Allows the use of wildcards.)
Example: =SEARCH(“wood”,”How much wood can a woodchuck chuck”,14) |
SEARCH(“Text1”,”Text2”,[ Number]) |
|
SPLIT |
Divides the provided text using space character as a separator and returns the substring at zero-based position specified by the second argument. E.g.:
|
SPLIT(“Text”, nu,ber_of_position) |
|
SUBSTITUTE |
Returns a string in which all occurrences of Old_text are replaced by New_text. Replaces only specific occurrence if the last parameter is provided. |
SUBSTITUTE(Text,Old_text,New_text,[Occurrence]) |
|
T |
Returns text if the given value is text, otherwise an empty string. |
T(<cell>) |
|
TEXT |
Converts a number into text according to a specified format. |
TEXT(Number,”<format>”) |
|
TRIM |
Removes extra spaces from text. |
TRIM(“Text”) or TRIM(Number) |
|
UNICHAR |
Returns the character created by using the provided code point. |
UNICHAR(Number) |
|
UNICODE |
Returns the Unicode code point of a first character of a text. |
UNICODE(Text) |
|
UPPER |
Returns the text converted to uppercase. |
UPPER(Text) |
Full list of available “Text” functions: https://handsontable.github.io/hyperformula/guide/built-in-functions.html#text
You can see a detailed listing of the following categories by clicking on the links.
Financial
https://handsontable.github.io/hyperformula/guide/built-in-functions.html#financial
Engineering
https://handsontable.github.io/hyperformula/guide/built-in-functions.html#engineering
Array manipulation
https://handsontable.github.io/hyperformula/guide/built-in-functions.html#array-manipulation
Matrix functions
https://handsontable.github.io/hyperformula/guide/built-in-functions.html#matrix-functions
Operator
https://handsontable.github.io/hyperformula/guide/built-in-functions.html#operator
Information functions
https://handsontable.github.io/hyperformula/guide/built-in-functions.html#information
Known limitations
In certain situations, HyperFormula (Inline Table Editing calculation engine) behaves differently than Google Sheets or Microsoft Excel. Read more about known limitations https://handsontable.github.io/hyperformula/guide/known-limitations.html#known-limitations