Split one string into two fields
You have a single text field with content like "First part / Second part" and need to split it into two separate fields. Airtable formulas can extract the text before and after a delimiter.
Basic split by delimiter
Split by forward slash
If your text looks like "This is the first part / This is the second part":
First field (everything before the "/"):
LEFT({Text}, FIND("/", {Text}) - 2)
Second field (everything after the "/"):
RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1)
How it works:
FIND("/", {Text})locates the position of the "/" characterLEFT()extracts characters from the start up to (position - 2) to exclude the "/" and the space before itRIGHT()extracts from the end, calculating the start position after the "/" and space
Split by other delimiters
Split by comma
Replace "/" with "," in the formulas:
First field:
LEFT({Text}, FIND(",", {Text}) - 1)
Second field:
RIGHT({Text}, LEN({Text}) - FIND(",", {Text}) - 1)
Split by pipe character
First field:
LEFT({Text}, FIND("|", {Text}) - 1)
Second field:
RIGHT({Text}, LEN({Text}) - FIND("|", {Text}) - 1)
Split by dash or hyphen
First field:
LEFT({Text}, FIND("-", {Text}) - 1)
Second field:
RIGHT({Text}, LEN({Text}) - FIND("-", {Text}) - 1)
Handle missing delimiters
If the delimiter might not exist in some records, wrap the formula in an IF() statement:
First field (with fallback):
IF(
FIND("/", {Text}),
LEFT({Text}, FIND("/", {Text}) - 2),
{Text}
)
Second field (with fallback):
IF(
FIND("/", {Text}),
RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1),
""
)
This ensures:
- If the delimiter exists, the text is split correctly
- If no delimiter is found, the first field shows the original text and the second field is empty
Trim whitespace
If your delimiter might have inconsistent spacing, use TRIM() to clean up the results:
First field:
TRIM(LEFT({Text}, FIND("/", {Text}) - 2))
Second field:
TRIM(RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1))
TRIM() removes leading and trailing spaces from the extracted text.
Split by first space
To split a full name into first and last name (assuming single space):
First name:
IF({Full Name}, LEFT({Full Name}, FIND(" ", {Full Name}) - 1))
Last name:
IF({Full Name}, RIGHT({Full Name}, LEN({Full Name}) - FIND(" ", {Full Name})))
Note: This assumes exactly one space. For names with middle names or multiple spaces, use a more complex approach or regex.
Split by first number
If you have text like "Angola 8 April 1994" and want to separate the location from the date:
Location field:
TRIM(SUBSTITUTE({Original}, DATETIME_FORMAT({Date}, "D MMMM YYYY"), ""))
Date field:
DATETIME_PARSE({Original}, "D MMMM YYYY")
This works by:
- Parsing the date from the string
- Formatting it back to the same format
- Removing that formatted date from the original string
- Trimming the remaining text
Common patterns
Extract text before first delimiter
LEFT({Text}, FIND("/", {Text}) - 2)
Extract text after first delimiter
RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1)
Extract text before last delimiter
If you have multiple delimiters and want everything before the last one:
LEFT({Text}, FIND("/", REVERSE({Text})))
This is more complex and may require additional logic depending on your use case.
Tips and best practices
Always check for the delimiter
Use IF(FIND(...)) to avoid errors when the delimiter doesn't exist:
IF(FIND("/", {Text}), LEFT({Text}, FIND("/", {Text}) - 2), {Text})
Consider spacing
If your delimiter has spaces around it (like " / "), adjust the offset:
FIND("/", {Text}) - 2removes the "/" and one space before itFIND("/", {Text}) - 1removes only the "/"FIND("/", {Text}) - 3removes the "/" and spaces on both sides
Use TRIM for cleanup
Always wrap extracted values in TRIM() to handle inconsistent spacing:
TRIM(LEFT({Text}, FIND("/", {Text}) - 2))
Test with edge cases
Before deploying, test with:
- Empty strings
- Text without the delimiter
- Text with multiple delimiters
- Text with leading/trailing spaces
When formulas aren't enough
Formulas work great for splitting into 2-3 fields with a consistent delimiter. For more complex scenarios, consider:
- Scripts: When you need to split into multiple records or handle variable patterns
- External tools: Make, Zapier, or other automation tools for complex parsing
- Regex: Use
REGEX_EXTRACT()for pattern-based extraction (available in Airtable formulas)
Quick reference
| Goal | Formula |
|---|---|
| Split by "/" (first part) | LEFT({Text}, FIND("/", {Text}) - 2) |
| Split by "/" (second part) | RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1) |
| Split with safety check | IF(FIND("/", {Text}), LEFT({Text}, FIND("/", {Text}) - 2), {Text}) |
| Split and trim whitespace | TRIM(LEFT({Text}, FIND("/", {Text}) - 2)) |
| Split by first space | LEFT({Text}, FIND(" ", {Text}) - 1) |
FAQ
What happens if the delimiter appears more than once in the text?
The FIND() function returns the position of the first occurrence. So LEFT() extracts everything before the first delimiter, and RIGHT() extracts everything after it (including any subsequent delimiters). If you need to split on the last occurrence, use FIND() with REVERSE() to locate the delimiter from the end.
Can I split text into more than two parts using Airtable formulas?
Yes, but it requires chaining formulas. Extract the first part using LEFT() and FIND(), then create a second formula field that operates on the remainder. Each additional split needs its own formula field. For more than 3 parts, a script or external tool is usually more practical.
How do I split text when the delimiter has spaces around it?
Adjust the offset in your LEFT() formula. For a delimiter like " / " (space, slash, space), use FIND("/", {Text}) - 2 to exclude the space before the slash. For the second part, adjust the offset after the slash. Wrapping the result in TRIM() is the safest approach for inconsistent spacing.
Does FIND() work with case-sensitive text in Airtable?
Yes, FIND() is case-sensitive. If you search for "A", it will not match "a". For case-insensitive matching, wrap your field in UPPER() or LOWER() before using FIND(): FIND("/", UPPER({Text})).
Build Better Airtable Forms with Filla
Splitting strings with formulas is often a workaround for data that arrived in the wrong format. Filla helps you collect structured data from the start, so you spend less time parsing fields after the fact.
- Separate form fields for each data point instead of one combined text box
- Validation rules that enforce formatting before submission
- Conditional logic to show the right fields based on previous answers
- Direct sync to your Airtable base with no middleware
Start free and connect your first form to any Airtable base.
References
Community discussion with solutions for splitting strings: Formula to break a string of text onto 2 separate strings of text