# Formula fields: functions, cross-object references and limits

*Platform App Builder Study Guide · Business Logic and Process Automation · Last updated October 25, 2026 · https://www.certifyforce.com/study-guide/platform-app-builder/business-logic-and-process-automation/formula-fields-functions-cross-object-references-and-limits*

How to build formula fields that meet a requirement: return types, picklist and date functions, blank handling, cross-object references to parent records, the 15-relationship and size limits, and what a formula field can never do.

- Certification: Salesforce Platform App Builder
- Exam section: Business Logic and Process Automation
- Study guide: https://www.certifyforce.com/study-guide/platform-app-builder

**Official exam objective:**

> Given a scenario, demonstrate the use of formula fields to meet stated business requirements.

## What the exam expects

- Choose a return type and write the expression, including picklist logic with ISPICKVAL or CASE.
- Calculate with Date, Date/Time and Time values: elapsed days or hours, month offsets, weekdays, and TEXT's GMT effect.
- Show a parent's field on a child with a cross-object formula, and fix the 15-reference and size limits.
- Handle blank number fields with blank field handling or BLANKVALUE.
- Recognise what a formula field can't do (detect a change, be edited, render raw HTML) and pick the alternative.

Key terms: **formula field**, a read-only calculated field; **return type**, the data type it outputs; **cross-object formula**, one that reads parent records; **spanning relationship**, one unique relationship an object's formulas and rules reference; **blank field handling**, treating blank number inputs as zero or blank.

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Formula fields are read-only | Not on edit pages; don't update last modified date | [Build a Formula Field](https://help.salesforce.com/s/articleView?id=platform.customize_formulas.htm) |
| Cross-object reach | Up to 10 relationships away; not in default values | [Cross-Object Formula](https://help.salesforce.com/s/articleView?id=platform.customize_cross_object.htm&type=5) |
| Spanning relationship limit | 15 unique relationships per object across formulas, rules and lookup filters | [15 Object References](https://help.salesforce.com/s/articleView?id=000383053&language=en_US&type=1) |
| Size limits | 3,900 characters; 1,300 displayed; 15,000 bytes saved and compiled | [Formula Field Limits and Restrictions](https://help.salesforce.com/s/articleView?id=platform.formula_field_limits.htm&type=5) |
| Date/Time subtraction | Decimal days; multiply by 24 for hours | [Date and Time Formulas](https://help.salesforce.com/s/articleView?language=en_US&id=platform.formula_using_date_datetime.htm&type=5) |
| ADDMONTHS from a month end | Returns the last day of the resulting month | [ADDMONTHS](https://help.salesforce.com/s/articleView?id=platform.customize_functions_addmonths.htm&type=5) |
| HTML in formulas | Escaped; use IMAGE or HYPERLINK | [Formula Field Limits and Restrictions](https://help.salesforce.com/s/articleView?id=platform.formula_field_limits.htm&type=5) |
| ISCHANGED in formula fields | Not available; rules and field updates only | [ISCHANGED](https://help.salesforce.com/s/articleView?id=platform.customize_functions_ischanged.htm) |

## Check yourself

- Why doesn't a formula field change a record's Last Modified Date when its value changes?
- When does a CASE function return its else_result?
- Why does a Text formula `"Closed " & TEXT(Closed_At__c)` show a time that doesn't match the viewer's clock?
- Which components count toward an object's 15 spanning relationships?

## Sources

- [Build a Formula Field](https://help.salesforce.com/s/articleView?id=platform.customize_formulas.htm)
- [What Is a Cross-Object Formula?](https://help.salesforce.com/s/articleView?id=platform.customize_cross_object.htm&type=5)
- [Formula Field Limits and Restrictions](https://help.salesforce.com/s/articleView?id=platform.formula_field_limits.htm&type=5)
- [Formula Data Types](https://help.salesforce.com/s/articleView?id=platform.choosing_a_formula_data_type.htm&type=5)
- [Using Date, Date/Time, and Time Values in Formulas](https://help.salesforce.com/s/articleView?language=en_US&id=platform.formula_using_date_datetime.htm&type=5)
- [Tips for Working with Picklist and Multi-Select Picklist Values in Formulas](https://help.salesforce.com/s/articleView?id=platform.tips_for_using_picklist_formula_fields.htm&type=5)
- [Error: maximum number of 15 object references](https://help.salesforce.com/s/articleView?id=000383053&language=en_US&type=1)
- [CASE](https://help.salesforce.com/s/articleView?id=platform.customize_functions_case.htm&type=5)
- [ADDMONTHS](https://help.salesforce.com/s/articleView?id=platform.customize_functions_addmonths.htm&type=5)
- [WEEKDAY](https://help.salesforce.com/s/articleView?id=platform.customize_functions_weekday.htm&type=5)
- [BLANKVALUE](https://help.salesforce.com/s/articleView?id=platform.customize_functions_blankvalue.htm&type=5)
- [IMAGE](https://help.salesforce.com/s/articleView?id=platform.customize_functions_image.htm&type=5)
- [ISCHANGED](https://help.salesforce.com/s/articleView?id=platform.customize_functions_ischanged.htm)
- [Global Variables Resource](https://help.salesforce.com/s/articleView?id=platform.flow_ref_resources_global_variables.htm&type=5)
- [Before-Save Record-Triggered Flows](https://help.salesforce.com/s/articleView?id=platform.flow_concepts_trigger_record.htm&type=5)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 13 linked practice questions, and unlimited timed mock exams are included with the Platform App Builder pack (USD $19): https://www.certifyforce.com/practice-exams
