When working with messy data, it’s common to find text in a single cell separated by different types of delimiters like commas, hyphens, spaces, or slashes. Unfortunately, the built-in SPLIT function in Google Sheets only works with a single delimiter. But there are workarounds.
In this article, we’ll walk through multiple ways to split text based on multiple delimiters using simple formulas, regular expressions, and Apps Script.
Steps to split text by multiple delimiters in Google Sheets using SUBSTITUTE and SPLIT:
➤ Open your sheet (e.g., Contact Info) with mixed delimiter text in Column A under “Details”
➤ Click on B2 (next to the first value) and enter:
=SPLIT(SUBSTITUTE(SUBSTITUTE(A2, “,”, “|”), “-“, “|”), “|”)
➤ This replaces commas and hyphens with a pipe (|) and splits based on that.
➤ Press Enter, then drag the formula down the column to apply it to all rows.
➤ You’ll see each value split cleanly into separate columns.
Split Text by Multiple Delimiters Using SUBSTITUTE and SPLIT Functions
If your data includes more than one type of separator, such as commas, spaces, or hyphens, you can still split the text cleanly in Google Sheets. This method is useful when you are dealing with a small number of known delimiters. Use the SUBSTITUTE function to change all delimiters to a uniform one (such as a comma), and then use the SPLIT function to conveniently divide the text into distinct sections.
We’ll use the following dataset in a sheet named Contact Info, where the “Details” column contains names separated by different delimiters:
Steps:
➤ Click on cell B2, which is next to the first row of data in Column A (Details).
➤ Enter the following formula:
=SPLIT(SUBSTITUTE(SUBSTITUTE(A2, “,”, “|”), “-“, “|”), “|”)
This formula first replaces all commas (,) and hyphens (–) in the text with a pipe symbol (|), which serves as a temporary unified delimiter.
➤ Press Enter . You’ll see the names split into multiple columns, each part going into its own cell.
➤ Add more SUBSTITUTE layers if your text uses more types of delimiters, such as slashes (/) or spaces ( ). For example:
=SPLIT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, “,”, “|”), “-“, “|”), “/”, “|”), ” “, “|”), “|”)
➤ Once the formula works in B2, drag the fill handle down to apply it to the rest of the rows.
This method is fast and simple when you are working with a known, limited set of delimiters. It’s especially useful for splitting unstructured lists like names, tags, or keywords into cleaner formats.
Use REGEXREPLACE with the SPLIT Functions
Using SUBSTITUTE repeatedly can get messy if your text contains many separators, like commas, hyphens, slashes, or spaces. A more powerful and cleaner solution is combining REGEXREPLACE with SPLIT. This lets you replace all delimiters in one go using a regular expression pattern and then split the cleaned-up string.
Steps:
➤ Click on cell B2, next to Column A‘s first row of data.
➤ Enter the following formula:
=SPLIT(REGEXREPLACE(A2, “[,\-\/ ]”, “|”), “|”)
➤ Press Enter . The names or words will be separated into individual cells horizontally.
➤ Drag the formula down from B2 to apply it to the rest of the rows in your dataset.
➤ If you have additional delimiters like colons (:) or semicolons (;), simply add them inside the square brackets of the REGEXREPLACE pattern: =SPLIT(REGEXREPLACE(A2, “[,\-\/ ]”, “|”), “|”)
This highly flexible method works best when your input data has inconsistent or unpredictable formatting. It’s also easier to maintain when working with large datasets.
Apply REGEX and ARRAYFORMULA Functions
If you want to automatically split text across multiple rows without copying the formula down manually, you can use ARRAYFORMULA with REGEXREPLACE and SPLIT. This method works well for large or growing datasets like form submissions, logs, or survey responses.
Steps:
➤ In cell B2, enter the following formula:
=ARRAYFORMULA(IF(A2:A=””, “”, SPLIT(REGEXREPLACE(A2:A, “[,\-\/ ]”, “|”), “|”)))
➤ Hit Enter . The formula will instantly apply across all non-empty rows in Column A.
➤ Add new rows of data to Column A. The formula will automatically expand and split new entries.
Automatically Split Cells by Multiple Delimiters with Apps Script
If you want more control over how you split text in Google Sheets, especially when dealing with messy or inconsistent delimiters, a custom Apps Script can help. Unlike built-in formulas, this method allows you to define multiple delimiters and reuse your logic as a custom function.
We’ll create a script that splits any text string based on your list of delimiters, like commas, spaces, slashes, or hyphens.
Steps:
➤ Open Apps Script. In your Google Sheet, go to the top menu and click on Extensions >> Apps Script
➤ Delete any default code pre-filled in the editor.
➤ Paste the following code
function SPLITMULTIPLEDELIMITERS(input, delimiters) {
 if (!input) return;
 let splitters = delimiters.split("");
 let result = [input];
 splitters.forEach(d => {
   result = result.flatMap(i => i.split(d));
 });
 return result.map(s => s.trim()).filter(Boolean);
}
➤ Save your script by clicking the floppy disk icon or pressing Ctrl + S on your Keyboard. Name the project whatever you want.
➤ Use your new function in Google Sheets. In a blank cell next to your data (e.g., B2), enter:
=SPLITMULTIPLEDELIMITERS(A2, “,-/ “)
Frequently Asked Questions
Can I split text using multiple delimiters in Google Sheets?
Yes, you can split text using multiple delimiters like commas, spaces, hyphens, or slashes by combining functions such as REGEXREPLACE with SPLIT. This allows you to replace various characters with a single delimiter for splitting.
What function supports multiple delimiters natively?
Google Sheets does not support multiple delimiters directly in the SPLIT function, but you can use REGEXREPLACE to convert multiple delimiters into one, and then apply SPLIT. This method works well for common formatting tasks.
How do I handle space and commas together?
To handle both spaces and commas together, you can use REGEXREPLACE to turn them into a unique character (like |), and then use the SPLIT function on that. This lets you handle multiple delimiters cleanly in one formula.
Can Apps Script split strings easily?
Yes, Apps Script is very flexible for splitting strings using custom logic. You can create a function that loops through characters or uses split() multiple times to handle each delimiter. This works better for complex or repeated splitting tasks.
Does SPLIT work on arrays or full columns?
To split across an entire column without copying formulas manually, wrap your formula with ARRAYFORMULA. This allows dynamic row expansion as data is added, and works well with bulk inputs and REGEXREPLACE-based custom delimiter setups.
Wrapping Up
While Google Sheets doesn’t support multiple delimiters natively in the SPLIT function, you can still break down complex text easily using a few clever workarounds.
Use SUBSTITUTE or REGEXREPLACE when you know the delimiters in advance. Combine them with ARRAYFORMULA to apply the split across an entire column. And if your needs go beyond what formulas can handle, a simple Apps Script lets you automate and customize the split exactly how you want.