← All how-to recipes

How to split text into rows

✓ Verified in LibreOffice 25.8.7.3

Break one delimited cell into a vertical list — turn "a,b,c" into three stacked rows for filtering, lookups, or a tidy column.

The formula

AppFormulaNotes
Excel=TEXTSPLIT(A2,,",")The empty 2nd argument means no column split; the 3rd argument is the ROW delimiter, so the pieces spill DOWN. Excel 365 / LibreOffice 24.8+.
Google Sheets=TRANSPOSE(SPLIT(A2,","))SPLIT spills across columns; TRANSPOSE flips it to rows. Sheets has no TEXTSPLIT.
LibreOffice Calc=TEXTSPLIT(A2,,",")Needs 24.8+.

How it works

TEXTSPLIT takes three key arguments: the text, a column delimiter, and a row delimiter. Splitting into COLUMNS uses the 2nd argument; splitting into ROWS uses the 3rd. Leaving the column delimiter empty and passing your delimiter as the row delimiter — =TEXTSPLIT(A2,,",") — spills the pieces vertically, so "a,b,c" becomes a,b,c stacked down three cells. In Google Sheets, which lacks TEXTSPLIT, the idiom is TRANSPOSE(SPLIT(A2,",")) since SPLIT only spills horizontally. To flatten a whole delimited grid into one column, wrap it: TOCOL(TEXTSPLIT(A2,",")). Handy extras: TEXTSPLIT's later arguments let you ignore empty results and pad missing values, and you can pass an array of delimiters like {",",";"} to split on several characters at once. All of this needs dynamic arrays — Excel 365, Google Sheets, or LibreOffice 24.8+.

Verified, not just documented

We ran =TEXTSPLIT("a,b,c",,",") in LibreOffice 25.8.7.3 (headless, with forced recalculation) and it returned a, b, c — exactly the expected result. Every formula here is confirmed by actually executing it.

Functions used

TEXTSPLIT · TRANSPOSE · SPLIT — see full Excel, Google Sheets & LibreOffice compatibility for each.

Related recipes