Skip to main content
SheetCraft
🔤 Text Function · beginner

SPLIT Function in Google Sheets

Divides text around specified delimiters and spills the parts into separate cells. The inverse of TEXTJOIN — turns one string into many.

Syntax

SPLIT(text, delimiter, [split_by_each], [remove_empty_text])

Returns: A horizontal array of the split pieces, spilled into adjacent cells.

Excel equivalent: TEXTSPLIT (Microsoft 365 only, very similar)

Parameters

NameRequiredDescription
textRequiredThe string to split.
delimiterRequiredCharacter(s) to split on. Can be a single character or a multi-character string.
split_by_eachOptionalTRUE (default) splits on each character of delimiter individually. FALSE treats delimiter as a single multi-char separator.
remove_empty_textOptionalTRUE (default) drops empty pieces. FALSE keeps them, producing blanks for consecutive delimiters.

Examples

Split full name into parts

=SPLIT(A2, " ")

Splits "Alice Smith Jones" into [Alice, Smith, Jones] across three columns.

Parse CSV line

=SPLIT(A2, ",")

Splits comma-separated values into individual cells.

Multi-character delimiter

=SPLIT(A2, " -- ", FALSE)

Splits on the exact string " -- ", not on each of the characters individually. The FALSE is critical here.

When to use an alternative

  • REGEXEXTRACT with capture groupsYour delimiter is a pattern, not a fixed string.
  • LEFT / RIGHT / MID with FINDYou only need one specific piece and want explicit positional logic.
  • Apps Script + JavaScript split()You need programmatic control over edge cases.

Common errors and how to fix them

  • Extra blank columns

    Cause: remove_empty_text set to FALSE and source has consecutive delimiters.

    Fix: Leave default TRUE unless you need positional alignment of empty pieces.

  • Splits on each character of delimiter

    Cause: split_by_each defaults to TRUE.

    Fix: Pass FALSE explicitly when your delimiter is a multi-character string you want treated as a unit.

  • #REF!

    Cause: Spilled output would overwrite content in adjacent cells.

    Fix: Clear the cells to the right of the formula.

Related functions

Frequently Asked Questions

How do I split into rows instead of columns?

SPLIT returns a horizontal array (across columns). To get a vertical array (down rows), wrap with TRANSPOSE: TRANSPOSE(SPLIT(A2, ",")).

Can SPLIT handle quoted CSV strings?

Not natively — SPLIT treats every comma as a delimiter, including commas inside quoted strings. For proper CSV parsing use IMPORTDATA from a CSV file, or write a regex in REGEXEXTRACT, or use Apps Script.

Source: Google Sheets official function reference.