26

Using MS Excel I can go to Format of the cell and choose the text orientation from horizontal to vertical fairly easily.

How do I alter text orientation to vertical in Google Sheets?

1
  • There's a "format -> text rotation" option for this in Sheets now. :) Feb 27, 2017 at 12:13

11 Answers 11

20
  1. Select your cell
  2. Replace its content with the following formula:

    =ARRAYFORMULA(CONCATENATE((MID( "Text to become vertical"; ROW(INDIRECT("YY1:YY"&LEN( "Text to become vertical" ))); 1)&CHAR(10))))
    
  3. Repeat for each cell

Observation: make sure the text you want in your cell is the same in both instances of the formula.

From here: http://www.quikstarts.com/Internet/Google-Docs/how-to-make-vertical-column-headers-in-google-docs/

1
  • Almost there but not quiet since I have to make it for each cell. I think I can live with this. :) Thanks
    – Darius
    Aug 23, 2011 at 23:22
11

Here is a regex based solution:

= regexreplace( "Text", "(.)", "$1"&char(10) )

Translation: Look in the input "Text", which could be a cell reference too, and find each instance of the regular expression ., i.e., each single character. Store the matched character in a sub-expression so we can use it later by putting the regex within parentheses. Then replace each match with the string concatenation of itself via sub-expression reference "$1" along with the newline character char(10).

4
  • 1
    That's a good one !! Mar 18, 2014 at 7:41
  • Why don't you throw in an ARRAYFORMULA version? Mar 18, 2014 at 7:45
  • 1
    Nice and short regex formula, I like it :)
    – Darius
    Mar 18, 2014 at 17:41
  • @JacobJanTuinstra Why would you need an ARRAYFORMULA version? Dec 11, 2014 at 15:59
7

You have do create it as a drawing. See here for more details on how to create word art.

6

As of 22 February 2017, support for rotated text will be introduced:

enter image description here

Note

Gradual rollout (potentially longer than 3 days for feature visibility)

Reference

Blog post reference: Support for rotated text in Google Sheets

3

If a cell is narrow, then here is a quick and dirty approach.
Type the word into the spreadsheet cell with a space between each later:

V e r t i c a l T e x t

Then make the width of the column narrow so that text wrapping will stack the letters vertically.

V
e
r
t
i
c
a
l

T
e
x
t

This will only work if the cell has a width of one letter. If the cell is wider, then the formula approach is best.

3

You can combine a couple of the approaches suggested in some other answers by creating a custom function in Tools > Script Editor:

function VERTICAL_TEXT(text) {
  var vert_text = text.replace(/(.)/g,"$1\n");
  return vert_text;
}

And then using it in the cell:

=VERTICAL_TEXT("cell contents")
1
2

Place the cursor between two characters, hold down the Ctrl key and press the Enter key to create a line break between the chars.

2

Until we have real vertical test, it's the simplest to leave the text orientation horizontal and spread each heading over several cells using the cell merge function, in a stairlike fashion:

Stairlike grid fashion

0

Go to "Insert-Image" and create a text box, rotate it and click save.

0

You can use Insert > Draw, create a text box and rotate it. Works for me.

0

Simplest way (now) seems to be to select range and Format > Text rotation > Stack vertically.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.