How to Increment Columns with a Fixed Row in Excel Formulas
Question details
The user wants to dynamically increment column references (e.g., from J to K to L) for a fixed row when dragging a formula downward.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Filling formulas vertically while needing the cell references to update horizontally across columns.
- Observed behavior
- Standard relative referencing keeps the row fixed when using a dollar sign but does not change the column letter sequentially when dragged down.
Before you begin, ensure you understand the direction you intend to drag your formula, as standard Excel relative references update columns when dragged across, and rows when dragged down.
Use the INDEX Function for Robust Column Incrementing
The INDEX function is a highly recommended, non-volatile way to increment columns dynamically when filling a formula downwards.
Because dragging a formula down natively increments rows, we must mathematically calculate the column number using the ROWS function.
By setting the INDEX array to an entire row and telling it to shift the column index based on the row we drag into, we can successfully extract sequential horizontal data.
Click on the cell where you want to output the first value of your sequence.
Type the formula: =INDEX('LABOR CALC'!$110:$110, ROWS($1:1)+9). Here, ROWS($1:1) evaluates to 1, and adding 9 results in 10, which corresponds to Column J.
If your original formula required adding another cell value, append it like this: =INDEX('LABOR CALC'!$110:$110, ROWS($1:1)+9) + AA9.
Press Enter, then click and drag the fill handle at the bottom-right corner of the cell downward to apply the formula to the remaining cells.

Combine INDIRECT, ADDRESS, and ROW Functions
Use INDIRECT and ADDRESS to dynamically construct a cell reference as a text string that automatically updates the column index based on the current row.
Master Complex Data References Effortlessly with WPS Office
WPS Spreadsheet provides full, seamless support for advanced lookup and reference functions like INDEX, INDIRECT, and ADDRESS, making it easy to manage complex data layouts and transpositions.
- 1. Open your workbook: Launch WPS Spreadsheet and open the file containing your data layout.
- 2. Begin your formula: Select the destination cell and type =INDEX(, then highlight your target row range (e.g., row 110).
- 3. Implement dynamic column shifting: Complete the formula using the ROWS() function to dynamically shift columns as you move down rows, then press Enter.
- 4. Drag to populate: Click the small square at the bottom right of your active cell and drag it downward to populate your data sequentially.

Frequently Asked Questions
Why doesn't dragging a formula down change the column letter?
By default, spreadsheet software updates relative row references when dragging vertically, and relative column references when dragging horizontally. To change a column reference while dragging vertically, you must use specific reference-shifting functions like INDEX or INDIRECT.
What does the dollar sign ($) do in a formula like J$110?
The dollar sign creates an absolute reference for the row or column it precedes. In J$110, the row is locked to 110, so dragging it down will not change the row number, but it also won't force the column letter to change.
Is INDEX better than INDIRECT for dynamic columns?
Yes. INDEX is a non-volatile function, meaning it only recalculates when its source data changes. INDIRECT is volatile and recalculates on every worksheet change, which can slow down performance in complex or large files.
Can I use the TRANSPOSE function instead?
If you are simply looking to copy a horizontal row of data and paste it vertically into a column, you can select the target cells, type =TRANSPOSE('LABOR CALC'!J110:Z110), and press Ctrl+Shift+Enter (or just Enter in newer versions supporting dynamic arrays).




