# Creating Formula Fields

Formula fields are read-only fields used to dynamically calculate different types of values, including numeric values, text values, date values, etc. Formula fields and their resulting return value have certain data types associated with them and there are specific operators that can be used for each data type.

It is necessary to understand the type of fields required for creating formula fields and the compatibility between the data types and the operators. For instance, the operator " * " (for multiplication) is used on numeric values and not on text values.
1. You cannot modify the Return type for the formula fields.
2. Maximum 5000 characters can be used in the formula expression.

## Availability

Permission Required: Users with the Field-level Access permission in profiles can access this feature.

## Create Numeric Formula Field

The following table helps you to understand the type of arguments required for numeric functions along with the type of syntax that needs to be formed.

 Function Description Usage Examples SpellNumber Displays numbers in words.(Input number will always be rounded off to 2 decimal places) SpellNumber(number) SpellNumber(100000) returns "Indian Rupee One Lakh Only" if currency is INRSpellNumber(100000) returns "One Hundred Thousand" for all other currencies Abs Returns the absolute value of the Number. Abs(number) Abs(-42) returns 42; Abs(+33) returns 33 Ceil Returns the smallest digit greater than or equal to the input number. Ceil(number) Ceil(3.4) returns 4; Ceil(-3.4) returns -3 Floor Returns the largest digit less than or equal to the input number. Floor(number) Floor(3.8) returns 3; Floor(-3.4) returns -4 Naturallog Returns the natural logarithm of a number Naturallog(number) Naturallog(1) returns 0.69 Base10log Returns the base 10 logarithm of the input number Base10log(number) Base10log(10) returns 1.0 Max Returns the maximum value from the specified list of compatible data types. Max(value1, value2,...) Max(3,1,5,2) returns 5; Max(0,-4,-3,2) returns 2 Min Returns the minimum value from the specified list of compatible data types. Min(value1, value2,...) Min(5,-3,0,1) returns -3; Min(5,0,.01,0.5) returns 0.0 Sqrt Returns the square root of the input number. Sqrt(number) Sqrt(4) returns 2; Sqrt(9) returns 3

To create numeric type formula fields
2. Go to Setup > Customization > Modules and Fields.
Module refers to the Candidates, Job Openings, Contacts, etc.
3. Click the required module.
The Layout Editor opens.
4. Drag and drop the Formula field from the New Fields tray to the required module section on the right.
5. In the Formula Properties window, do the following:
1. Enter id in the Field Label field..
2. Select Number/Currency as the Formula Return Type from the drop-down list.
In the case of Number and Currency Return Type fields, enter a value for Decimal places.
Constructing Formulas
1. Under Select Functions, select Numeric Functions from the drop-down list.
2. From the list of Numeric Functions, choose a function and click Insert.
(Alternatively, you can double-click on a function to insert)
3. In the Formula expression, click between the parenthesis to insert an argument.
4. Under Select Field column, choose a field and click Insert.
(Alternatively, you can double-click on a field to insert)
5. Under Select Operator column, choose an operator and click Insert.
6. Click Check Syntax to check the construction of the formula.
7. Click Save.
Note:

While using the SpellNumber function, if the record currency is Indian Rupees (INR);
1. The return value would include currency name (Indian Rupee and Paise) and "Only" as suffix.
2. If multiple currency is not enabled, the currency code will be based on the currency specified under Settings > Company Details.
3. The return value will follow the Indian Numeral System (with lakhs, Crores). The currency name will be displayed up to 15 digits. If the number has more than 15 digits, it will be converted into words without the currency name.

## Create String Formula Field

The following table helps you to understand the type of arguments required for formula functions along with the type of syntax that needs to be formed.

 Function Description Usage Examples Len Returns the number of characters in a specified text string. Len(string) Len('abc') returns 3; Len(' abc ') returns 5 Find Returns the nth occurrence of the text string. Find('string','search string',number) Find('greenery','n',1) returns 5 Concat Returns the concatenation of all the strings. Concat('string','string',...) Concat('FirstName',' ','LastName') returns FirstName LastName Contains Returns true if search string is found in the other string, otherwise returns false. Contains('string','search string') Contains('abcdef','cd') returns true Startswith Returns true if the string begins with the search string, otherwise returns false. Startswith('string','search string') Startswith('abcdef','cd') returns falseStartswith('abcdef','abc') returns true Endswith Returns true if the string ends with the search string, otherwise returns false. Endswith('string','search string') Endswith('abcdef','ab') returns falseEndswith('abcdef','ef') returns true Lower Converts all characters in a string to lower case. Lower('string') Lower('APPLES') returns "apples"Lower('Apples') returns "apples" Upper Converts all characters in a string to upper case. Upper('string') Upper('apples') returns "APPLES"Upper('APPles') returns "APPLES" Trim Returns string with the leading and trailing white space characters removed. Trim('string') Trim(' abcd ') returns "abcd" Substring Returns a portion of an input string, from a start position in the string to the specified length. Substring('string',n1,n2) Substring('abcdefg',4,7) returns "defg" Replace Replaces each occurrence of the search string in the input string with the corresponding replace string. Replace('string','search string','replace string') Replace('abcdefg','abc','xyz') returns "xyzdefg" Tostring Converts any argument to a string data type. Tostring(generic argument) Tostring(3.4) returns "3.4"Tostring('') returns < empty >
Note:
1. The string constants should always be enclosed in single quotes(')
2. Field labels do not need to be enclosed in single quotes (').
3. Values of the String data type can be used with == and != operations inside If(), Or(), And(), and Not() library functions.
For example, If ('abc' == 'abc', \${returnValue1}, \${returnvalue2})
To create String type formula fields
2. Go to Setup > Customization > Modules and Fields.
Module refers to the Candidates, Job Openings, Contacts, etc.
3. Click the required module.
The Layout Editor opens.
4. Drag and drop the Formula field from the New Fields tray to the required module section on the right.
5. In the Formula Properties window, do the following:
1. Enter id in the Label field.
2. Select String as theFormula Return Type from the drop-down list.
Constructing Formulas
1. Under Select Functions, select String Functions from the drop-down list.
2. From the list of String Functions, choose a function and click Insert.
(Alternatively, you can double-click on a function to insert)
3. In the Formula expression, click between the parenthesis to insert an argument.
4. Under Select Field column, choose a field and click Insert.
(Alternatively, you can double-click on a field to insert)
5. Under Select Operator column, choose an operator and click Insert.
6. Click Check Syntax to check the construction of the formula.
7. Click Save.

## Create DateTime Formula Field

The following table helps you to understand the type of arguments required for DateTime functions along with the type of syntax that needs to be formed.

 Function Description Usage Examples Newdate Creates a date from the year, month, day and time. Newdate(year,month,day, hour,minute,'string') Newdate(2007,12,21,06,30,'AM') returns quot;21/12/2007 06:30 AM"1 Datepart Returns the date value for the date time expression. Datepart(datetime argument) Datepart(Newdate(2007,12,21,06,30,'AM')) returns "21/12/2007"1 Timepart Returns the time value for the date time expression. Timepart(datetime argument) Timepart(Newdate(2007,12,21,06,30,'AM')) returns "06.30 AM" Adddate Returns the date obtained by adding n (year/day/month/hour/min) to the given date. Adddate(datetime,number, 'string') Adddate(Newdate(2007,12,21,06,30,'AM'),2,'YEAR' returns "21/12/2009 06:30 AM"2 Subdate Returns the date obtained by subtracting n (year/day/month/hour/min) to the given date. Subdate(datetime,number, 'string') Subdate (Newdate(2007,12,21,06,30,'AM'),2,'YEAR' returns "21/12/2005 06:30 AM"2 Now Returns a date/time representing the current moment. Now() Now() returns "19/05/2009 10:52 AM" Datecomp Compares two dates and returns the difference of days in minutes. Datecomp(Datetime, Datetime) Datecomp(Newdate(2009,05,19,11,30,'AM'), Newdate(2009,05,19,12,30,'AM')) returns 660.0 3 Dayofmonth Returns the day of the month for the given date. Dayofmonth(Datetime) Dayofmonth(Newdate(2009,05,19,11,30,'AM')) returns "19.0" Hour Returns the hour corresponding to the given date. Hour(Datetime) Hour(Newdate(2009,05,19,11,30,'AM')) returns "11.0" Minute Returns the minute corresponding to the given date. Minute(Datetime) Minute(Newdate(2009,05,19,11,30,'AM')) returns "30.0" Month Returns the month corresponding to the given date. Month(Datetime) Month(Newdate(2009,05,19,11,30,'AM')) returns "5.0" Year Returns the year corresponding to the given date Year(Datetime) Year(Newdate(2009,05,19,11,30,'AM')) returns "2009.0" Weekday Returns the day of the week (1-7) corresponding to the input date, where 1 is Sunday, 2 is Monday and so on. Weekday(Datetime) Weekday(Newdate(2009,05,19,11,30,'AM')) returns "3.0". (This is because 19th May is Tuesday)4
Note:
1. The input DateTime argument format should always be YYYY,MM,DD,HH,MM,AM/PM but the output will be displayed as per the selected Country Locale.
2. The string data type (YEAR/DAY/MONTH/HOUR/MINUTE) should be in UPPERCASE.
3. The resulting return value for the Datecomp function is always displayed in minutes.
4. If the date value is "0" the function returns null.
To create date time type formula fields
2. Go to Setup > Customization > Modules and Fields.
Module refers to the Candidates, Job Openings, Contacts, etc.
3. Click the required module.
The Layout Editor opens.
4. Drag and drop the Formula field from the New Fields tray to the required module section on the right.
5. In the Formula Properties window, do the following:
1. Enter id in the Label field.
2. Select DateTime as the Formula Return Type from the drop-down list.
Constructing Formulas
1. Under Select Functions, select DateTime Functions from the drop-down list.
2. From the list of DateTime Functions, choose a function and click Insert.
(Alternatively, you can double-click on a function to insert)
3. In the Formula expression, click between the parenthesis to insert an argument.
4. Under Select Field column, choose a field and click Insert.
(Alternatively, you can double-click on a field to insert)
5. Under Select Operator column, choose an operator and click Insert.
6. Click Check Syntax to check the construction of the formula.
7. Click Save.

## Create Boolean Formula Field

The following table helps you to understand the type of arguments required for boolean functions along with the type of syntax that needs to be formed.

 Function Description Usage Examples If Returns one of two values, depending on the value of a given logical condition. If the boolean test is true, If() returns the true value, otherwise returns the false value. If(Boolean,Generic, Generic)* If(8>7,1,0) returns "1.0"If(8>7,'True','False') returns "True" And Returns a true response if all expressions are true; returns a false value even if one of the expressions is false. And(boolean,boolean ...) And(2>1,5>3,7<8) returns "true"And(2>1,5>3,7>8) returns "false" Or Returns true if any one expression is true. Returns false if all expressions are false. Or(boolean,...) Or(2>1,3>5,7>8) returns "true"Or(1>2,3>5,7>8) returns "false" Not Returns the logical negation of the given expression(If the expression is true, returns false). Not(boolean) Not(false) returns "true"Not(true) returns "false"
Info:
* Generic implies any data type - Number, String, Datetime (including normal date) or Boolean. The return type depends on the selected data type. For instance, if the generic data type is a number, the return type should be Numeric and not string or boolean.
Note:
*Values of the String data type can be used with == and != operations inside If(), Or(), And(), and Not() library functions. For example, If ('abc' == 'abc', \${returnValue1}, \${returnvalue2})*
To create boolean type formula fields
2. Go to Setup > Customization > Modules and Fields.
Module refers to the Candidates, Job Openings, Contacts, etc.
3. Click the required module.
The Layout Editor opens.
4. Drag and drop the Formula field from the New Fields tray to the required module section on the right.
5. In the Formula Properties window, do the following:
6. Enter id in the Label field.
7. Select Boolean Functions as the Formula Return Type from the drop-down list.
Constructing Formula
1. Under Select Functions, select Boolean Functions from the drop-down list.
2. From the list of Boolean Functions, choose a function and click Insert.
(Alternatively, you can double-click on a function to insert)
3. In the Formula expression, click between the parenthesis to insert an argument.
4. Under Select Field column, choose a field and click Insert.
(Alternatively, you can double-click on a field to insert)
5. Under Select Operator column, choose an operator and click Insert.
6. Click Check Syntax to check the construction of the formula.
7. Click Save.

## Formula Syntax Reference

The following table displays the functional reference for creating formulae along with their available arguments.

### Numeric Functions

 Function Name No. of Required Arguments Argument Data Type Return Type Abs 1 Number Number Ceil 1 Number number Floor 1 Number Number Naturallog 1 Number Number Base10log 1 Number Number Max Multiple All Number Number Min Multiple All Number Number Sqrt 1 Number Number

### String Functions

 Function Name No. of Required Arguments Argument Data Type Return Type Len 1 String Number Find 3 String: String: Number Number Concat Multiple All String String Contains 2 String: String Boolean Startswith 2 String: String Boolean Endswith 2 String: String Boolean Lower 1 String String Upper 1 String String Trim 1 String String Substring 3 String: Number: Number String Replace 3 String: String: String String Tostring 1 Any data type String

### DateTime Functions

 Function Name No. of Required Arguments Argument Data Type Return Type Newdate 6 Number:Number:Number:Number:Number:String Datetime Datepart 1 Datetime String Timepart 1 Datetime String Adddate 3 Datetime: Number: String Datetime Subdate 3 Datetime: Number: String Datetime Now 0 - Datetime Datecomp 2 Datetime: Datetime Number Dayofmonth 1 Datetime Number Hour 1 Datetime Number Minute 1 Datetime Number Month 1 Datetime Number Year 1 Datetime Number Weekday 1 Datetime Number

### Boolean Functions

 Function Name No. of Required Arguments Argument Data Type Return Type If 3 Boolean: Generic: Generic Generic And Multiple All Boolean Boolean Or Multiple All Boolean Boolean Not 1 Boolean Boolean
Note:
1. String constants should be enclosed within single quotes.
2. Generic implies any data type - Number, String, Datetime (including normal date) or Boolean.

### Zoho CRM Training Programs

Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

Redefine the way you work
with Zoho Workplace

### Zoho DataPrep Personalized Demo

If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

Create, share, and deliver

beautiful slides from anywhere.

Get started with Zoho Sign

in a few quick steps!

### Still can't find what you're looking for?

Write to us: support@zohoforms.com

# Zoho Sheet Resources

New to Zoho Forms?

# Zoho Forms Resources

communication with Zoho Mail

Mail on the move with
Zoho Mail mobile application

Stay on top of your schedule
at all times

Anytime, anywhere

# Zoho Sign Resources

Sign, Paperless!

Sign and send business documents on the go!

# Zoho DataPrep Resources

Zoho DataPrep Demo

Get a personalized demo or POC

Design. Discuss. Deliver.

Create visually engaging stories with Zoho Show.

• # Related Articles

• ## Creating Custom Fields

In Zoho Recruit, you can add new fields as required. These fields will be available to all the users added to your organization's Recruit account. Customize Zoho-Defined Fields: You can edit, delete, and hide some of the Zoho-defined fields, but note ...
• ## Building Formula Fields

The Zoho Recruit formula fields allow you to define fields that can be populated with dynamically calculated data based on the values returned from other standard or custom fields. For example, in the Candidates module, if you have added a ...
• ## Datatypes in Formula Fields

A data type is the kind of data that can be held and stored while evaluating an expression. Data types are the defined set of values and the allowable operations on those values. They represent either the function, argument, or return value of the ...
• ## Formula Field Examples

Formula Fields can be complicated sometimes. So, here are examples that will help you understand the usage of these types of fields in Zoho Recruit. IF ELSE Statement Example: If field name contains 'Golf Only 1 Meal', then return 265 ; Else if field ...
• ## Formula Field Functions

Function performs a specific operation on values that you specify and generates a new value. To compose a function, you need to type the function name, followed by a set of parentheses(). The Zoho Recruit formula type custom field supports four ...
Wherever you are is as good as

# Resources

### Videos

Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.

### eBooks

Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.

### Webinars

Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.

### CRM Tips

Make the most of Zoho CRM with these useful tips.