To split cells in Google Sheets, you can either use a built‑in menu option or a formula, depending on whether you want a one‑time split or something that updates automatically over time.

What “split cells” means in Google Sheets

In Google Sheets you can’t literally cut one cell into two like in a table layout, but you can split the contents of a cell into multiple cells (usually into separate columns, and sometimes into rows). Common examples are:

  • Splitting “John Smith” into “John” and “Smith”
  • Splitting “[email protected], [email protected]” into separate cells
  • Turning “City – State – ZIP” into three columns

Method 1: Split text to columns (no formulas)

Use this when you have existing data you want to quickly break into columns, and you don’t need it to update dynamically.

Steps

  1. Select the cell(s) or the entire column that contains the text you want to split.
  1. In the top menu, click Data → Split text to columns.
  1. At the bottom of the selection, a small separator dropdown appears. Click it and choose the delimiter:
    • Space
    • Comma
    • Semicolon
    • Period
    • Custom (for things like “ - ” or “ | ”)
  1. Sheets will split the text into separate columns right away.

Notes and gotchas

  • Insert blank columns to the right first if you don’t want to overwrite existing data.
  • Google Sheets may auto‑detect a delimiter; if it splits incorrectly, change the dropdown to the correct one or set a custom separator.
  • This is a one‑time operation: if the original cell changes later, the split columns do not automatically update.

Method 2: Use the SPLIT formula (dynamic)

Use the SPLIT function when you want the result to update automatically if the source cell changes, or when you’re building formulas into a workflow.

Basic syntax

=SPLIT(text, delimiter, [split_by_each], [remove_empty_text])\text{=SPLIT(text, delimiter, [split\_by\_each], [remove\_empty\_text])}=SPLIT(text, delimiter, [split_by_each], [remove_empty_text])

  • text : the cell or text to split, e.g. A2 or "John Smith".
  • delimiter : what separates your pieces, e.g. " " for space, "," for comma.
  • split_by_each (optional):
    • TRUE (default) = treat each character in the delimiter separately
    • FALSE = treat the full string as one separator, e.g. " and ".
  • remove_empty_text (optional):
    • TRUE (default) = ignore empty pieces caused by consecutive delimiters
    • FALSE = keep empty results as empty cells.

Common examples

  • Split “First Last” into two columns:
    • =SPLIT(A2, " ")
  • Split comma‑separated items:
    • =SPLIT(A2, ",").
  • Split using multiple delimiters (comma, semicolon, or pipe):
    • =SPLIT(REGEXREPLACE(A2, "[,;|]", ","), ",")
  • Apply SPLIT to an entire column with ARRAYFORMULA:
    • =ARRAYFORMULA(SPLIT(A2:A11, " ")).

Because SPLIT “spills” into multiple cells, you need enough empty cells to the right (or below if you combine it with TRANSPOSE) to hold the output.

Splitting into rows instead of columns

By default, SPLIT spreads results across columns, but you can twist it to get rows.

  • Split one cell vertically (into rows) using TRANSPOSE:
    • =TRANSPOSE(SPLIT(A1, " ")).
  • Take many cells, split them, and stack everything into a single column:
    • =ARRAYFORMULA(TOCOL(SPLIT(C2:C6, ", "))).

This is useful when you have something like “email1, email2, email3” in many rows and want one long list of individual values.

Quick HTML table: examples of split patterns

Here’s an HTML table with some handy SPLIT patterns you can adapt:

html

<table>
  <thead>
    <tr>
      <th>Goal</th>
      <th>Example formula</th>
      <th>Result shape</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Split full name by space</td>
      <td>=SPLIT(A2, " ")</td>
      <td>Multiple columns</td>
    </tr>
    <tr>
      <td>Split comma-separated list</td>
      <td>=SPLIT(A2, ",")</td>
      <td>Multiple columns</td>
    </tr>
    <tr>
      <td>Split into rows</td>
      <td>=TRANSPOSE(SPLIT(A2, " "))</td>
      <td>Multiple rows</td>
    </tr>
    <tr>
      <td>Split whole column dynamically</td>
      <td>=ARRAYFORMULA(SPLIT(A2:A11, " "))</td>
      <td>Many rows × columns</td>
    </tr>
    <tr>
      <td>Split by comma or semicolon</td>
      <td>=SPLIT(REGEXREPLACE(A2, "[,;]", ","), ",")</td>
      <td>Multiple columns</td>
    </tr>
  </tbody>
</table>

(You can paste these into your sheet with your own cell references.)

Tiny story-style example

Imagine you import a list of customer names where every row looks like Alex Johnson - New York - Premium in a single cell. You want separate columns for name, city, and plan. You select the column, run Data → Split text to columns , set the separator to - as a custom delimiter, and instantly get three clean columns. Later, as new rows keep coming in, you switch to a formula like =SPLIT(A2, " - ") and drag it down so every new entry is automatically split as soon as it lands in the sheet.

TL;DR:

  • For a quick one‑time split: use Data → Split text to columns.
  • For dynamic, auto‑updating splits: use the SPLIT function, optionally with ARRAYFORMULA , TRANSPOSE , or TOCOL when you need whole columns or rows handled at once.

Information gathered from public forums or data available on the internet and portrayed here.