Use advanced Formulas to make calculations using string functions.
What you'll need
- 60 uses of Custom Fields, including Formula Fields, are available on the Free Forever Plan.
- Unlimited uses are available on all paid plans.
- Individual Custom Fields can be hidden from guests.
- Guests with edit or full permissions can edit existing Custom Fields but cannot create new ones.
- Formula Fields do not support using Custom Fields that contain text.
Variables surrounded by {}
in the following sections are optional variables and can be left out of a function without the function breaking. Ensure parentheses are acknowledged in your Formulas or you will receive an error message.
String functions
Below is a table of the string functions ClickUp offers.
Syntax | Description | Example | Expected Result |
CHAR(table_number) |
This function takes a number then returns a character corresponding to the associated character in the current Unicode table. |
CHAR(65) |
A |
CLEAN(text) | This function takes a string then returns a string with the non-printable ASCII characters removed. | CLEAN("Before Tab After Tab") |
Before TabAfter Tab |
CONCATENATE(string1, {string2, ...}) |
This function takes as many variables as you would like then returns a string corresponding to all the variables appended together. You can enter text to be added manually between quotation marks, use other functions, or any supported Fields. Because CONCATENATE returns a string, column calculations for Formulas that use this function are not possible. |
CONCATENATE("This year is ", YEAR("7/15/21"), "!") |
This year is 2021! |
FIND(search_for, text_to_search, {starting_at}) |
This function takes two strings and a number then returns a number corresponding to the position at which search_for is first found within text_to_search. starting_at can be entered to determine where you would like to start searching text_to_search. |
FIND('M', 'Miriam McGovern', 3) |
13 |
LEFT(string, {number_of_characters}) |
This function takes a string and a number then returns a string corresponding to the beginning of string. If number_of_characters isn't entered, the function will return the first letter in the string. |
LEFT("Sale Price", 4) |
Sale |
LEN(text) | This function takes a string then returns a number corresponding to the length of the string. | LEN("Phoenix, AZ") |
11 |
LOWER(text) | This function takes a string then returns a string converted to lowercase. | LOWER("E. E. Cummings") |
e. e. cummings |
MID(string, starting_at, extract_length) | This function takes a string and two numbers then returns a string corresponding to the segment defined by the two numbers. | MID("This is 21 characters", 12, 10) |
characters |
PROPER(text) | This function takes a string then returns a string with each word capitalized. | PROPER("this is a TITLE") |
This Is A Title |
REGEXEXTRACT(text, regular_expression) | This function takes a string and a regular expression then returns a string corresponding to matching substrings according to the regular expression. | REGEXEXTRACT('Palo Alto', 'Alto') |
Alto |
REGEXREPLACE(text, regular_expression, replacement) | This function takes three strings then returns a string with part of text replaced by replacement using a regular expression. | REGEXREPLACE('Hello!', 'ello', 'i') |
Hi! |
REPLACE(text, position, length, new_text) | This function takes two strings and two numbers then returns a string with part of text replaced by new_text. The text being replaced is determined by position and length. | REPLACE("Good morning!", 6, 7, "afternoon") |
Good afternoon! |
RIGHT(string, {number_of_characters}) |
This function takes a string and a number then returns a string corresponding to the end of string. If number_of_characters isn't entered, the function will return the last letter in the string. |
RIGHT("Sale Price", 5) |
Price |
SEARCH(search_for, text_to_search, {starting_at}) |
This function takes two strings and one number then returns a number corresponding to the position at which search_for is first found within text_to_search. |
SEARCH('margin', 'Profit Margin') |
8 |
TRIM(text) |
This function takes a string then returns a string with removed leading and trailing spaces. |
TRIM(" First Quarter Earnings ") |
First Quarter Earnings |
UPPER(text) |
This function takes a string then returns a string converted to uppercase. |
UPPER("total") |
TOTAL |