Formula Reference

All functions supported by Scoop's Calculated Field engine

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

FunctionSyntaxDescription
SUMSUM(value1, [value2, ...])Adds all the numbers in a range of cells.
SUMIFSUMIF(range, criterion, [sum_range])Returns a conditional sum across a range.
SUMIFSSUMIFS(sum_range, criteria_range1, criterion1, ...)Returns the sum of a range depending on multiple criteria.
SUMPRODUCTSUMPRODUCT(array1, [array2, ...])Multiplies corresponding components in the given arrays, and returns the sum of those products.
AVERAGEAVERAGE(value1, [value2, ...])Returns the numerical average value in a dataset, ignoring text.
MEDIANMEDIAN(value1, [value2, ...])Returns the median value in a numeric dataset.
COUNTCOUNT(value1, [value2, ...])Returns the count of the number of numeric values in a dataset.
COUNTACOUNTA(value1, [value2, ...])Returns the count of the number of values in a dataset.
COUNTIFCOUNTIF(range, criterion)Returns a conditional count across a range.
COUNTIFSCOUNTIFS(criteria_range1, criterion1, ...)Returns the count of a range depending on multiple criteria.
MAXMAX(value1, [value2, ...])Returns the maximum value in a numeric dataset.
MINMIN(value1, [value2, ...])Returns the minimum value in a numeric dataset.
ABSABS(value)Returns the absolute value of a number.
ROUNDROUND(value, places)Rounds a number to a certain number of decimal places.
ROUNDUPROUNDUP(value, places)Rounds a number to a certain number of decimal places, always rounding up to the next valid increment.
ROUNDDOWNROUNDDOWN(value, places)Rounds a number to a certain number of decimal places, always rounding down to the next valid increment.
CEILINGCEILING(value, [factor])Rounds a number up to the nearest integer multiple of specified significance.
FLOORFLOOR(value, [factor])Rounds a number down to the nearest integer multiple of specified significance.
INTINT(value)Rounds a number down to the nearest integer that is less than or equal to it.
MODMOD(dividend, divisor)Returns the result of the modulo operator, the remainder after a division operation.
POWERPOWER(base, exponent)Returns a number raised to a power.
SQRTSQRT(value)Returns the positive square root of a positive number.
LOGLOG(value, [base])Returns the logarithm of a number given a base.
LOG10LOG10(value)Returns the logarithm of a number, base 10.
LNLN(value)Returns the logarithm of a number, base e (Euler's number).
EXPEXP(exponent)Returns Euler's number, e (~2.718) raised to a power.
RANDBETWEENRANDBETWEEN(low, high)Returns a uniformly random integer between two values, inclusive.

🧠 Logical Functions

FunctionSyntaxDescription
IFIF(logical_expression, value_if_true, value_if_false)Returns one value if a logical expression is TRUE and another if it is FALSE.
IFSIFS(condition1, value1, [condition2, value2, ...])Evaluates multiple conditions and returns a value that corresponds to the first true condition.
IFERRORIFERROR(value, value_if_error)Returns the first argument if it is not an error value, otherwise returns the second argument.
IFNAIFNA(value, value_if_na)Returns the first argument if it is not an #N/A value, otherwise returns the second argument.
ANDAND(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.
OROR(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.
XORXOR(logical_expression1, [logical_expression2, ...])Returns true if an odd number of the provided arguments are logically true, and false otherwise.
NOTNOT(logical_expression)Returns the opposite of a logical value - NOT(TRUE) returns FALSE; NOT(FALSE) returns TRUE.
TRUETRUE()Returns the boolean value TRUE.
FALSEFALSE()Returns the boolean value FALSE.

📝 Text Functions

FunctionSyntaxDescription
CONCATENATECONCATENATE(string1, [string2, ...])Appends strings to one another. (Use & operator as a shortcut).
TEXTJOINTEXTJOIN(delimiter, ignore_empty, text1, [text2, ...])Combines the text from multiple strings and/or arrays, with a specifiable delimiter separating each text.
LEFTLEFT(string, [number_of_characters])Returns a substring from the beginning of a specified string.
RIGHTRIGHT(string, [number_of_characters])Returns a substring from the end of a specified string.
MIDMID(string, starting_at, extract_length)Returns a segment of a string.
LENLEN(text)Returns the length of a string.
FINDFIND(search_for, text_to_search, [starting_at])Returns the position at which a string is first found within text (case-sensitive).
SEARCHSEARCH(search_for, text_to_search, [starting_at])Returns the position at which a string is first found within text (case-insensitive).
LOWERLOWER(text)Converts a specified string to lowercase.
UPPERUPPER(text)Converts a specified string to uppercase.
PROPERPROPER(text)Capitalizes each word in a specified string.
TRIMTRIM(text)Removes leading and trailing spaces in a specified string.
SUBSTITUTESUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])Replaces existing text with new text in a string.
REPLACEREPLACE(text, position, length, new_text)Replaces part of a text string with a different text string.
TEXTTEXT(number, format)Converts a number into text according to a specified format.
TEXTAFTERTEXTAFTER(text, delimiter)Returns text that occurs after a given character or string.
TEXTBEFORETEXTBEFORE(text, delimiter)Returns text that occurs before a given character or string.
REGEXREPLACEREGEXREPLACE(text, regular_expression, replacement)Replaces part of a text string with a different text string using regular expressions.

📅 Date & Time Functions

FunctionSyntaxDescription
TODAYTODAY()Returns the current date as a date value.
NOWNOW()Returns the current date and time as a date value.
DATEDATE(year, month, day)Converts a provided year, month, and day into a date.
YEARYEAR(date)Returns the year component of a specific date.
MONTHMONTH(date)Returns the month component of a specific date.
DAYDAY(date)Returns the day component of a specific date.
HOURHOUR(time)Returns the hour component of a specific time.
MINUTEMINUTE(time)Returns the minute component of a specific time.
SECONDSECOND(time)Returns the second component of a specific time.
DATEDIFDATEDIF(start_date, end_date, unit)Calculates the number of days, months, or years between two dates.
EDATEEDATE(start_date, months)Returns a date a specified number of months before or after another date.
EOMONTHEOMONTH(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.
NETWORKDAYSNETWORKDAYS(start_date, end_date, [holidays])Returns the number of net working days between two provided days.
WEEKDAYWEEKDAY(date, [type])Returns a number representing the day of the week of the date provided.
WEEKNUMWEEKNUM(date, [type])Returns a number representing the week of the year where the provided date falls.

🔎 Lookup & Filter Functions

FunctionSyntaxDescription
VLOOKUPVLOOKUP(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.
HLOOKUPHLOOKUP(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.
XLOOKUPXLOOKUP(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.
MATCHMATCH(search_key, range, [search_type])Returns the relative position of an item in a range that matches a specified value.
INDEXINDEX(reference, [row], [column])Returns the content of a cell, specified by row and column offset.
FILTERFILTER(range, condition1, [condition2, ...])Returns a filtered version of the source range, returning only rows or columns that meet the specified conditions.
UNIQUEUNIQUE(range)Returns unique rows in the provided source range, discarding duplicates.
SORTSORT(range, sort_column, is_ascending, ...)Sorts the rows of a given array or range by the values in one or more columns.
CHOOSECHOOSE(index, choice1, [choice2, ...])Returns an element from a list of choices based on index.
SWITCHSWITCH(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.

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