Skip to main content
SheetCraft
📐 Array Function · beginner

TRANSPOSE Function in Google Sheets

Flips an array's rows and columns. Useful for converting horizontal output to vertical (or vice versa), reorienting imports, and reshaping data for charts.

Syntax

TRANSPOSE(array_or_range)

Returns: An array where the columns of the input are now rows.

Excel equivalent: TRANSPOSE (identical)

Parameters

NameRequiredDescription
array_or_rangeRequiredThe range or array to transpose.

Examples

Flip a horizontal row to vertical

=TRANSPOSE(A1:E1)

5 cells across become 5 cells down.

Reshape SPLIT output

=TRANSPOSE(SPLIT(A2, ","))

SPLIT returns horizontal; TRANSPOSE makes it vertical for column-style display.

Combine with QUERY for pivoted output

=TRANSPOSE(QUERY(A:D, "SELECT B, SUM(C) GROUP BY B", 1))

Get grouped totals as rows, then transpose to show as columns.

When to use an alternative

  • Paste special → TransposeYou want a one-time copy, not a live formula.
  • ARRAYFORMULA with INDEX swapsYou need partial transposition (some rows kept, others swapped).

Common errors and how to fix them

  • #REF!

    Cause: Output would overwrite content in adjacent cells.

    Fix: Clear the destination cells, or move the formula to an empty region.

Related functions

Frequently Asked Questions

Does TRANSPOSE update live?

Yes. Unlike Paste Special → Transpose (which is a one-time operation), the TRANSPOSE formula updates whenever the source range changes.

Can I transpose a 2D range?

Yes — a 3-column 5-row range becomes a 5-column 3-row range after TRANSPOSE.

Source: Google Sheets official function reference.