ScoopDocs

Preparing Datasets ยท Legacy self-service product

Formula Reference

All functions supported by Scoop's Calculated Field engine

You're viewing documentation for the legacy Scoop self-service product. For the current product, see What Is Scoop.

Scoop Formula Reference

This guide lists all the functions supported by Scoop's Calculated Field engine. Scoop uses a spreadsheet-compatible syntax (similar to Excel/Google Sheets).

๐Ÿงฎ Mathematical Functions

Function Syntax Description
SUM SUM(value1, [value2, ...]) Adds all the numbers in a range of cells.
SUMIF SUMIF(range, criterion, [sum_range]) Returns a conditional sum across a range.
SUMIFS SUMIFS(sum_range, criteria_range1, criterion1, ...) Returns the sum of a range depending on multiple criteria.
SUMPRODUCT SUMPRODUCT(array1, [array2, ...]) Multiplies corresponding components in the given arrays, and returns the sum of those products.
AVERAGE AVERAGE(value1, [value2, ...]) Returns the numerical average value in a dataset, ignoring text.
MEDIAN MEDIAN(value1, [value2, ...]) Returns the median value in a numeric dataset.
COUNT COUNT(value1, [value2, ...]) Returns the count of the number of numeric values in a dataset.
COUNTA COUNTA(value1, [value2, ...]) Returns the count of the number of values in a dataset.
COUNTIF COUNTIF(range, criterion) Returns a conditional count across a range.
COUNTIFS COUNTIFS(criteria_range1, criterion1, ...) Returns the count of a range depending on multiple criteria.
MAX MAX(value1, [value2, ...]) Returns the maximum value in a numeric dataset.
MIN MIN(value1, [value2, ...]) Returns the minimum value in a numeric dataset.
ABS ABS(value) Returns the absolute value of a number.
ROUND ROUND(value, places) Rounds a number to a certain number of decimal places.
ROUNDUP ROUNDUP(value, places) Rounds a number to a certain number of decimal places, always rounding up to the next valid increment.
ROUNDDOWN ROUNDDOWN(value, places) Rounds a number to a certain number of decimal places, always rounding down to the next valid increment.
CEILING CEILING(value, [factor]) Rounds a number up to the nearest integer multiple of specified significance.
FLOOR FLOOR(value, [factor]) Rounds a number down to the nearest integer multiple of specified significance.
INT INT(value) Rounds a number down to the nearest integer that is less than or equal to it.
MOD MOD(dividend, divisor) Returns the result of the modulo operator, the remainder after a division operation.
POWER POWER(base, exponent) Returns a number raised to a power.
SQRT SQRT(value) Returns the positive square root of a positive number.
LOG LOG(value, [base]) Returns the logarithm of a number given a base.
LOG10 LOG10(value) Returns the logarithm of a number, base 10.
LN LN(value) Returns the logarithm of a number, base e (Euler's number).
EXP EXP(exponent) Returns Euler's number, e (~2.718) raised to a power.
RANDBETWEEN RANDBETWEEN(low, high) Returns a uniformly random integer between two values, inclusive.

๐Ÿง  Logical Functions

Function Syntax Description
IF IF(logical_expression, value_if_true, value_if_false) Returns one value if a logical expression is TRUE and another if it is FALSE.
IFS IFS(condition1, value1, [condition2, value2, ...]) Evaluates multiple conditions and returns a value that corresponds to the first true condition.
IFERROR IFERROR(value, value_if_error) Returns the first argument if it is not an error value, otherwise returns the second argument.
IFNA IFNA(value, value_if_na) Returns the first argument if it is not an #N/A value, otherwise returns the second argument.
AND AND(logical_expression1, [logical_expression2, ...]) Returns true if all of the provided arguments are logically true, and false if any of the provided arguments are logically false.
OR OR(logical_expression1, [logical_expression2, ...]) Returns true if any of the provided arguments are logically true, and false if all of the provided arguments are logically false.
XOR XOR(logical_expression1, [logical_expression2, ...]) Returns true if an odd number of the provided arguments are logically true, and false otherwise.
NOT NOT(logical_expression) Returns the opposite of a logical value - NOT(TRUE) returns FALSE; NOT(FALSE) returns TRUE.
TRUE TRUE() Returns the boolean value TRUE.
FALSE FALSE() Returns the boolean value FALSE.

๐Ÿ“ Text Functions

Function Syntax Description
CONCATENATE CONCATENATE(string1, [string2, ...]) Appends strings to one another. (Use & operator as a shortcut).
TEXTJOIN TEXTJOIN(delimiter, ignore_empty, text1, [text2, ...]) Combines the text from multiple strings and/or arrays, with a specifiable delimiter separating each text.
LEFT LEFT(string, [number_of_characters]) Returns a substring from the beginning of a specified string.
RIGHT RIGHT(string, [number_of_characters]) Returns a substring from the end of a specified string.
MID MID(string, starting_at, extract_length) Returns a segment of a string.
LEN LEN(text) Returns the length of a string.
FIND FIND(search_for, text_to_search, [starting_at]) Returns the position at which a string is first found within text (case-sensitive).
SEARCH SEARCH(search_for, text_to_search, [starting_at]) Returns the position at which a string is first found within text (case-insensitive).
LOWER LOWER(text) Converts a specified string to lowercase.
UPPER UPPER(text) Converts a specified string to uppercase.
PROPER PROPER(text) Capitalizes each word in a specified string.
TRIM TRIM(text) Removes leading and trailing spaces in a specified string.
SUBSTITUTE SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number]) Replaces existing text with new text in a string.
REPLACE REPLACE(text, position, length, new_text) Replaces part of a text string with a different text string.
TEXT TEXT(number, format) Converts a number into text according to a specified format.
TEXTAFTER TEXTAFTER(text, delimiter) Returns text that occurs after a given character or string.
TEXTBEFORE TEXTBEFORE(text, delimiter) Returns text that occurs before a given character or string.
REGEXREPLACE REGEXREPLACE(text, regular_expression, replacement) Replaces part of a text string with a different text string using regular expressions.

๐Ÿ“… Date & Time Functions

Function Syntax Description
TODAY TODAY() Returns the current date as a date value.
NOW NOW() Returns the current date and time as a date value.
DATE DATE(year, month, day) Converts a provided year, month, and day into a date.
YEAR YEAR(date) Returns the year component of a specific date.
MONTH MONTH(date) Returns the month component of a specific date.
DAY DAY(date) Returns the day component of a specific date.
HOUR HOUR(time) Returns the hour component of a specific time.
MINUTE MINUTE(time) Returns the minute component of a specific time.
SECOND SECOND(time) Returns the second component of a specific time.
DATEDIF DATEDIF(start_date, end_date, unit) Calculates the number of days, months, or years between two dates.
EDATE EDATE(start_date, months) Returns a date a specified number of months before or after another date.
EOMONTH EOMONTH(start_date, months) Returns a date representing the last day of a month which falls a specified number of months before or after another date.
NETWORKDAYS NETWORKDAYS(start_date, end_date, [holidays]) Returns the number of net working days between two provided days.
WEEKDAY WEEKDAY(date, [type]) Returns a number representing the day of the week of the date provided.
WEEKNUM WEEKNUM(date, [type]) Returns a number representing the week of the year where the provided date falls.

๐Ÿ”Ž Lookup & Filter Functions

Function Syntax Description
VLOOKUP VLOOKUP(search_key, range, index, [is_sorted]) Vertical lookup. Searches down the first column of a range for a key and returns the value of a specified cell in the row found.
HLOOKUP HLOOKUP(search_key, range, index, [is_sorted]) Horizontal lookup. Searches across the first row of a range for a key and returns the value of a specified cell in the column found.
XLOOKUP XLOOKUP(search_key, lookup_range, return_range, ...) Modern, flexible lookup. Searches a range or an array, and then returns the item corresponding to the first match it finds.
MATCH MATCH(search_key, range, [search_type]) Returns the relative position of an item in a range that matches a specified value.
INDEX INDEX(reference, [row], [column]) Returns the content of a cell, specified by row and column offset.
FILTER FILTER(range, condition1, [condition2, ...]) Returns a filtered version of the source range, returning only rows or columns that meet the specified conditions.
UNIQUE UNIQUE(range) Returns unique rows in the provided source range, discarding duplicates.
SORT SORT(range, sort_column, is_ascending, ...) Sorts the rows of a given array or range by the values in one or more columns.
CHOOSE CHOOSE(index, choice1, [choice2, ...]) Returns an element from a list of choices based on index.
SWITCH SWITCH(expression, case1, value1, [case2, value2, ...], [default]) Tests an expression against a list of cases and returns the corresponding value of the first matching case.

๐Ÿค– AI & Scoop Special Functions

Scoop includes powerful AI and data transformation functions not found in standard spreadsheets.

Function Syntax Description
SCOOPPROMPT SCOOPPROMPT("prompt", input_cell) Sends the text in input_cell to an LLM with your custom prompt.
SCOOPJSON SCOOPJSON(json_string, key) Parses a JSON string and extracts the value for key.
SCOOPLOOKUP SCOOPLOOKUP(value, dataset, lookup_col, result_col) Cross-dataset lookup. Finds value in dataset's lookup_col and returns result_col.
SCOOPAPPLYMODEL SCOOPAPPLYMODEL(model_id) Runs a pre-trained Scoop Machine Learning model on the current row.

Updated January 13, 2026