Purpose
Return value
Syntax
=VSTACK(array1,[array2],...)
- array1 - The first array or range to combine.
- array2 - [optional] The second array or range to combine.
How to use
The Excel VSTACK function combines arrays vertically into a single array. Each subsequent array is appended to the bottom of the previous array. The result from VSTACK is a single array that spills onto the worksheet into multiple cells.
VSTACK works equally well for ranges on a worksheet or in-memory arrays created by a formula. The output from VSTACK is fully dynamic. If data in the given arrays changes, the result from VSTACK will immediately update. VSTACK works well with Excel Tables, as seen in the worksheet above, since Excel Tables automatically expand when new data is added.
Use VSTACK to combine ranges vertically and HSTACK to combine ranges horizontally.
Basic usage
VSTACK stacks ranges or arrays vertically. In the example below, the range B3:B5 is combined with the range B8:B9. Each subsequent range/array is appended to the bottom of the previous range/array. The formula in D3 is:
=VSTACK(B3:B5,B8:B9)
Range with array
VSTACK can work interchangeably with both arrays and ranges. In the worksheet below, we combine the array constant {"Color","Qty"} with the range B3:C7. The formula in E3 is:
=VSTACK({"Color","Qty"},B3:C7)
Arrays of different size
When VSTACK is used with arrays of different size, the smaller array will be expanded to match the size of the larger array. In other words, the smaller array is "padded" to match the size of the larger array, as seen in the example below. The formula in cell E5 is:
=VSTACK(B5:C8,B11:B13)
By default, the cells used for padding will display the #N/A error. One option for trapping these errors is to use the IFERROR function. The formula in H5 is:
=IFERROR(VSTACK(B5:C8,B11:B13),"")
In this formula IFERROR is configured to replace errors with an empty string (""), which displays as an empty cell.