How to repeat cell value x times in Excel?
For example, you have a list of values in Column A, and you want to repeat the values specific number of times based on the number times in Column B, as following screenshot shown, how could you achieve this in Excel?
Fill blank cells x time with value above
With Kutools for Excel’s Fill Blank Cells feature, you can quickly fill blank cells with value above, linear value or fixed value as you need.
Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days. Download and free trial Now!
To repeat the cell values X times, you can insert some helper columns and then apply some simple formula, please do with following steps:
1. Insert a column to the left of column A, and type 1 in cell A2, see screenshot:
2. Then put this formula =A2 + C2 into A3, and drag the fill handle to the cell A7, see screenshot:
3. And then enter 1 in cell D2, and fill the number by dragging the Auto Fill to 18 which is the total number of the times number in column C, see screenshot:
4. Then enter this formula =VLOOKUP(D2,$A$1:$B$7,2) into cell E2 and copy down, you will get the following result:
1. In this formula, D2 indicates the first cell you are filled with the number sequence, and A1:B7 stands for the range of the first helper column and the original cell values that you need to repeat.
2. After getting the repeated values, you can copy and paste them as values to any other place.
If you consider the first method is difficult to understand, here, I can also introduce you VBA code to solve it.
1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Repeat cell values X times
Sub CopyData() 'Update 20140724 Dim Rng As Range Dim InputRng As Range, OutRng As Range xTitleId = "KutoolsforExcel" Set InputRng = Application.Selection Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8) Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8) Set OutRng = OutRng.Range("A1") For Each Rng In InputRng.Rows xValue = Rng.Range("A1").Value xNum = Rng.Range("B1").Value OutRng.Resize(xNum, 1).Value = xValue Set OutRng = OutRng.Offset(xNum, 0) Next End Sub3. Then press F5 key to run this code, and a prompt box will appear to remind you select the range which contains the values and repeated times, see screenshot:
4. And click OK, another prompt box will pop out to let you select a cell to put the result, see screenshot:
5. Then click OK, and you will get the result that your selected values have been repeated specified times as your need.
Recommended Productivity Tools
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 1 months agoThis is a VERY sloppy and cumbersome fix.
To post as a guest, your comment is unpublished.· 3 months agoHow can I access this using a MAC?
To post as a guest, your comment is unpublished.· 8 months agoThank You !!
To post as a guest, your comment is unpublished.· 9 months agogreat solution for multiple cells. thanks for saving me time.....
To post as a guest, your comment is unpublished.· 9 months agoGreat solution, saved lot of times, thank you
- ← Previous
- Next →