Function Problems

How to Repeat Each Array Value a Set Number of Times in Excel

Camila MilosovichCamila Milosovich Nov 10, 2026 868 views

Question details

The user needs to repeat each number in a given array a specific number of times using non-volatile Excel functions.

How to Repeat Each Array Value a Set Number of Times in Excel
Product
Excel
Device & OS
not provided
Scenario
Expanding a list of values by duplicating each value a fixed number of times directly below one another in a single column.
Observed behavior
The goal is to generate a new list where each original value appears sequentially multiple times (e.g., converting 3, 7, 6 into 3, 3, 3, 7, 7, 7, 6, 6, 6) without using volatile functions like OFFSET that can slow down workbook performance.
Before you start

Ensure your source data is organized in a single column or row without blank cells, and decide exactly how many times you want each value to repeat before applying the formula.

Solution 1Recommended

Use the INDEX and ROUNDUP Formula (Non-Volatile)

This method uses the INDEX and ROUNDUP functions along with ROW to repeat values dynamically without relying on volatile functions.

This approach is highly efficient, especially for older Excel versions. It avoids volatile functions like OFFSET or INDIRECT that recalculate every time the sheet changes, which can unnecessarily slow down workbook performance.

1
Identify your source array

Locate the range of your original values. For this example, assume your source values are in cells A2:A4.

2
Enter the formula

Click on the cell where you want the new repeated list to start and type the formula: =IFERROR(INDEX($A$2:$A$4,ROUNDUP(ROW(A1)/3,0)),"")

3
Apply to the column

Press Enter to generate the first value. Then, click and drag the fill handle (the small square at the bottom-right of the selected cell) down the column until blank cells appear, indicating the sequence is complete.

Use the INDEX and ROUNDUP Formula (Non-Volatile)
Customizing the Formula: The '3' in the ROW(A1)/3 part of the formula dictates the number of repeats. You can change this number to 2, 4, 5, or any other number of repetitions you require.
Use WPS Spreadsheet

Easily Manage Arrays and Formulas with WPS Office

WPS Spreadsheet fully supports advanced array formulas, INDEX, and ROUNDUP functions just like Microsoft Excel. It offers a lightweight, highly compatible environment for all your data manipulation needs, completely free of charge.

  1. 1. Open your data in WPS Spreadsheet: Launch WPS Spreadsheet and input your original array into a column (e.g., A2:A4).
  2. 2. Apply the INDEX formula: Select an empty cell for your output and enter the =IFERROR(INDEX($A$2:$A$4,ROUNDUP(ROW(A1)/3,0)),"") formula.
  3. 3. Drag to fill: Press Enter, then click the fill handle on the cell's bottom-right corner and drag it downwards to automatically generate your repeated values.
Fully compatible with Microsoft Excel formulas and functionsSupports non-volatile array manipulation without lagFree and lightweight alternative for complex data tasksFamiliar user interface makes formula entry seamless
QA img-9

Frequently Asked Questions

Why should I avoid volatile functions like OFFSET?

Volatile functions recalculate every time any change is made to the workbook. In large spreadsheets, relying heavily on functions like OFFSET or INDIRECT can significantly slow down performance and increase calculation times.

How do I change the formula if my data starts in a different row?

You should keep the ROW(A1) part exactly as it is because it acts as a starting counter (1). Only update the $A$2:$A$4 absolute reference to match the actual range where your source data is located.

Can I use this formula to repeat values across rows instead of down columns?

Yes, but you will need to replace the ROW(A1) function with COLUMN(A1) and adjust your layout so that the formula drags horizontally, pulling the corresponding data across the row.