Fix VLOOKUP Formula Not Working When Filled Down in Excel
Question details
The user needs to fix a VLOOKUP formula that produces inconsistent or incorrect results when copied or filled down to other rows.

- Product
- Spreadsheet
- Device & OS
- not provided
- Scenario
- Dragging or copying a VLOOKUP formula down multiple rows in a dataset.
- Observed behavior
- The formula stops working, returns #N/A errors, or gives inconsistent results because the lookup range shifts as it moves down.
Before modifying your formulas, check if the error only appears on specific rows and verify that your lookup value actually exists in the source data range.
Lock the Lookup Range with Absolute References
Prevent the lookup range from shifting by adding dollar signs ($) to make it an absolute reference.
By default, spreadsheet formulas use relative references. When you drag a formula down, the cell references shift down with it. If you do not lock the lookup table array in your VLOOKUP formula, the range will slide out of the correct area, causing errors.
Click on the first cell containing your VLOOKUP formula where it is currently working correctly.
In the formula bar at the top, highlight the portion of the formula that represents your lookup range (for example, 'Account Crosswalk'!B1:D4).
Press the F4 key on your keyboard. This will automatically add dollar signs to the range (changing it to 'Account Crosswalk'!$B$1:$D$4), which locks the columns and rows.
Press Enter to save the formula. Then, click and drag the small square (fill handle) at the bottom-right corner of the cell to copy the corrected formula down the column.

Check for Data Type Mismatches and Hidden Spaces
If locking the range does not resolve the issue, hidden spaces or mismatched data types (text vs. numbers) might be preventing a match.
Use WPS Spreadsheet to Master Complex Formulas
WPS Spreadsheet handles VLOOKUP and other advanced functions flawlessly. It provides an intuitive formula bar, helpful syntax tooltips, and seamless file compatibility, making it incredibly easy to fix shifting lookup ranges.
- 1. Open your file in WPS Office: Launch WPS Spreadsheet and open your document containing the VLOOKUP errors.
- 2. Edit the formula: Double-click the cell with the VLOOKUP formula or click it and use the formula bar at the top.
- 3. Lock the references: Highlight the table array coordinates and press F4 to apply the absolute reference ($) formatting instantly.
- 4. Drag to apply: Use the smart fill handle to drag the corrected formula down the column and apply it to your entire dataset.

Frequently Asked Questions
Why does my VLOOKUP return #N/A when I drag it down?
When you drag a formula down without absolute references, the table array shifts down by one row for each cell. Eventually, the source data moves out of range, resulting in a #N/A error because the formula can no longer find the lookup value. Adding dollar signs ($) locks the range in place.
Can I lock just the rows instead of both columns and rows?
Yes. By pressing F4 multiple times while highlighting the reference, you can cycle to a mixed reference like B$1:D$4. This locks only the rows while allowing columns to change, which is usually sufficient when filling a formula vertically down a column.
What if I use named ranges instead of absolute references?
Using a named range (e.g., =VLOOKUP(E2, MyTable, 2, FALSE)) is an excellent alternative to manual absolute references. Named ranges are automatically absolute, meaning they will not shift when you fill the formula down to other rows.




