How to quickly stack multiple columns into one column in Excel?

in Excel, the Text to columns function can split a cell into multiple columns based on delimiter, but if there are any ways to stack multiple columns into one column as below screenshot shown? In this article, I will introduce some tricks on solving this task quickly.

Stack multiple columns into one with Transform Range

When we click on the column chart option, we will see its drop-down list; we will select the second option in the 2D-Clustered Column Section, this option is called the Stacked Column. Figure 6 – How to stack columns in Excel. Excel automatically generates our Stacked Column chart; Figure 7 – How to make a stacked column graph in Excel. Step 1 – Select the range of cells (rows and columns) containing the data to be presented using a stacked column graph. This would be the input data for the chart. Step 2 – Click on Recommended Charts, as shown in the below figure. Step 3 – Select Columns- Stacked Column Chart.

Stack multiple columns into one with formula

How To Stack Columns Of Data In Excel For Mac 2016

1. Select the range you want to stack, and go to the Name Box to give this range a name, and press Enter key. See screenshot:

2. Then select a blank cell that you want place the results, enter this formula =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), press Enter key and drag fill handle down until an error displayed. See screenshot:

In the formula, MyData is the range name you have specified in step 1.

Stack multiple columns into one with VBA

Is there a joy con toolkit for mac 2017. Here is a VBA code that can help you too.

1. Press Alt + F11 keys to display Microsoft Visual Basic for Applications window.

2. Click Insert > Module, paste below code to the Module.

VBA: Stack columns to one

3. Press F5 key to run the code, a dialog pops out to select the source data, and click OK, to select a cell to place the results. See screenshot:

4. Click OK. Now the columns have been stacked in one column.

Stack multiple columns into one with Transform Range

To apply Kutools for Excel’s Transform Range utility is also can help you quickly solve this problem.

with more than 300 handy functions, makes your jobs more easier.

After free installing Kutools for Excel, please do as below:

1. Select the columns data you use, and click Kutools > Range > Transform Range. See screenshot:

Excel

2. In the Transform Range dialog, check Range to single column option, and click Ok, then select a cell to place results. See screenshot:

3. Click OK. Now the columns have been stacked into one single column.


Kutools for Excel: 300+ functions you must have in Excel, 30-day free trial from here.

The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails..
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range..
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns.. Prevent Duplicate Cells; Compare Ranges..
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select..
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more..
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments..
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic..
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF..
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
or post as a guest, but your post won't be published automatically.
Loading comment.. The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Thank you for the formula and VBA, but neither one does what the title of the post says. I was expecting them to stack the columns, but instead they transpose each row into a column and stacks those.. so it's stacking transposed rows, not columns. Still very helpful for some cases, but does anyone know how to modify the formula and/or VBA to actually stack the columns? I suppose I could transpose the entire input range then use these..
  • To post as a guest, your comment is unpublished.
    Thank you, a lot, the formula option worked very well. your saved my lot of time.
  • To post as a guest, your comment is unpublished.
    I am using the Stack Multiple Columns Into One With Formula method and it worked perfectly, but I want it to maintain the formatting, i.e. some columns were bold & 1 was hyperlinks. Is there something that can be added to the formula to make this happen?
    • To post as a guest, your comment is unpublished.
      Hi, Susan Milard, their formula can meet your need, you can use the VBA or the Transpose Range tool,both of them can satisfy you.
  • To post as a guest, your comment is unpublished.
    I am attempting to do this over a very large table (100s of columns and rows that are all linked to formulas. My excel will keep loading and then ultimately go to not responding. Is there a way to get past this? Thanks
    • To post as a guest, your comment is unpublished.
      Hi, Tom, which method you apply does not work? The method three, transform range tool must can work.
  • To post as a guest, your comment is unpublished.
    Hi, I'm looking to go a step further with this. I've used Stack Multiple Columns Into One With VBA, code and this works. I've used Tables as the source with this code and I get the list. Is there a way to automate running the Macro? So that when I add a new entry into the table the Macro automatically runs and keeps the resulting list up to date?
    • To post as a guest, your comment is unpublished.
      Hi, Chris Blackburn, sorry I am affraid I cannot find a code can automatically run to update the result, maybe someone else can.
  • To post as a guest, your comment is unpublished.
    Hi, is there a way to make the formula ignore any blank cells your data may contain?
    =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),
    I am using a helper sheet to create a contiguous list for a data validation drop down list. Thanks in advance.
    • To post as a guest, your comment is unpublished.
      Sorry, I am not good at formula, maybe you can try to use Kutools for Excel's Select Nonblank cells utility to select the unempty cells firstly, and copy and paste them to another location, then use above methods.
  • To post as a guest, your comment is unpublished.
    I have data which ends at the same row but multiple columns in which I want them to be stacked in a sequence where B column data will go under A column data where the data ends for A column and C column data to go under A column data where the data from B column ends and so on. This way I will have data from multiple columns to fit into one column. How can I do that?
  • To post as a guest, your comment is unpublished.
    Hello , is there any to convert above data to following form ??
    1
    A
    Lilly
    2
    B
    Judy
    ..
    • To post as a guest, your comment is unpublished.
      Thanks for your leaving message, this tutorial https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
      is talking about how to solve this problem, you can go to view.
  • To post as a guest, your comment is unpublished.
    this is just a clickbait to have you download a paying software
    • To post as a guest, your comment is unpublished.
      The first download will be free to use in 60 days, after that, you can decide to pay for use or not.
  • To post as a guest, your comment is unpublished.
    you are stacking multiple rows into one column, not multiple columns.. not what I was looking for.
    • To post as a guest, your comment is unpublished.
      Maybe this tutorial can help you.https://www.extendoffice.com/documents/excel/3327-excel-convert-multiple-rows-to-columns.html
    • To post as a guest, your comment is unpublished.
      To stack columns A-P that are in blocks of 6 rows put this formulae in cell R1 and fill down
      =OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
      • To post as a guest, your comment is unpublished.
        Cancel that last one, missed the truncate step.
      • To post as a guest, your comment is unpublished.
        Dang, now it doesn’t work! Tried on a new tab but it’s now back to stacking column contents in one in stead of originally row content.
      • To post as a guest, your comment is unpublished.
        Thank you for posting this solution! In case anyone needs a space after/at the end of each block, just add an additional count to the rows, so going by the example above, instead of $A$6, write $A$7. It inputs a zero ‘0’ to the row but you can easily ‘Use selection for Find’ in Sublime to edit them out. If you know the solution which doesn’t add a zero, please post!?
        • To post as a guest, your comment is unpublished.
          to output a blank cell instead of 0, do an IF function>0, TRUE-->output the original cell content, FALSE-->output '
          =if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),')
      • To post as a guest, your comment is unpublished.
        This works perfect, thanks

It is possible to setup Microsoft Excel to automatically adjust its Column widths and Row heights to match the size of data being input. You will find below the steps to AutoFit Column Width and Row Height in Microsoft Excel.

AutoFit Column Width in Excel

By default, the size of the Columns and Rows remains fixed in Microsoft Excel and does not change when you input data into the cells.

Excel

However, the AutoFit feature in Microsoft Excel allows you to alter its fixed grid like structure and make an Excel worksheet to automatically adjust its Column widths and Row Heights to match the size of data being input.

This can be achieved by AutoFit feature in Microsoft Excel, which is designed to automatically change the size of columns and rows to match the size of data input.

Limitations of Excel AutoFit Feature

Before going ahead with the steps to AutoFit Column Width and Row Height in Excel, you need to be aware of the following limitations of this feature.

  1. The default size of an Excel Column is 8.43 characters and it cannot be wider than 255 characters.
  2. The default size of an Excel Row is 15 (1/5th of an inch) and it cannot be higher than 409 points or 4.68 inches.
  3. Setting Column Width or Row Height to Zero makes them hidden.

Note: Font Size, italics, bolding and special characters can reduce the number of characters that an Excel column can hold.

1. AutoFit Column Width in Excel

Follow the steps below to AutoFit Columns in Excel

1. Open a Microsoft Excel Worksheet.

2. Type something longer than 8 characters into Column A and you will see the input spilling over into the adjacent columns.

3. Now, select Column A > click on the Home tab in top Ribbon menu and locate the Format option in “Cells” section of the menu.

4. Next, click on the Format and select AutoFit Column Width option in the drop-down menu.

Once you click on AutoFit Column width you will see Column A automatically adjusting its width to accommodate the size of the input Data.

Excel

Apart from AutoFit Column Width option, the Format Drop-down menu also provides “Column Width” and “Default Width” options.

Column Width: Selecting this option allows you to manually change the width of a column by typing its required size.

Default Width: Selecting this option changes the default width of columns for the entire worksheet.

AutoFit Column Width: Selecting this option automatically changes the size of the column to match the length of the contents of the cell in the column that takes up the most space.

2. Quick Way to AutoFit Column Width in Excel

Instead of going through menus, you can AutoFit a column by selecting the column and double-clicking on the boundary of the selected column. Free serial numbers for software.

Simply, select the Column that you want to AutoFit and double-click on the right side boundary of the selected column.

You will immediately see the Column automatically adjusting its width to the size of Data input.

At any time, you can reset all the Column widths back to their default width (8.43) by selecting Format > Default Width and typing 8.43.

3. AutoFit Row Height in Excel

How To Stack Columns In Excel

In general, Microsoft Excel automatically adjusts Row Heights to match the height of the data being input. Hence, the “AutoFit Row Height” feature in Excel is rarely used.

In older versions of Excel, you may find Row Heights not adjusting automatically while pasting data into Excel Worksheet.

If this happens, you can easily fix the problem by selecting the Row containing the oversized text and clicking on Format > AutoFit Row Height.

How To Stack Columns Of Data In Excel For Mac Windows 10

This will make Microsoft Excel to automatically change the Row height to match the height of Data being pasted.