Combine VLookup
Using VLOOKUP Across Multiple Columns in Excel
🔧 Objective:
Use VLOOKUP to return multiple columns of data (e.g., 30
columns) in Excel — efficiently and dynamically.
📝 VLOOKUP Method 1: Using Array Constants `{}`
Formula Syntax: =VLOOKUP(B3, 'Data sheet'!B:AE, {2,3,4,5,6,...,31}, 0)
Steps:
1. Select the cell where the first result should appear
(e.g., D3).
2. Enter the formula above.
3. Press Ctrl + Shift + Enter (only in legacy Excel) to make
it an array formula.
4. Drag across 30 columns to populate values.
Notes:
- This is static — you must type all column numbers
manually.
- Not ideal for frequent changes.
🔁 VLOOKUP Method 2: Using `COLUMNS()` for Dynamic Return Index
Formula Syntax: =VLOOKUP($B3, 'Data sheet'!$B:AE, COLUMNS($B2:D2), 0)
Steps:
1. Go to cell D3 (first return column).
2. Type the formula above.
3. Press Enter (no array entry needed).
4. Drag across to 30 columns (e.g., to AG3).
5. Drag the entire row downward to apply for other rows.
Explanation:
- COLUMNS($B2:D2) dynamically calculates the column index
(2, 3, 4...) based on how far you're dragging.
- Works great for large ranges.
📊 Comparison Table:
Feature |
`{}` Array Method |
`COLUMNS()` Method |
Setup |
Manual (fixed columns) |
Dynamic (auto-increments) |
Ease of Use |
Medium |
Easy |
Best For |
Small ranges or legacy tasks |
Large, dynamic tables |
Drag Support |
Across columns after setup |
Fully supported |
Version Compatibility |
Older Excel needs Ctrl+Shift+Enter |
Works with all modern versions |
💡 Bonus Tip: Use `SEQUENCE()` in Excel 365+
If you're using Excel 365 or 2019+, this is even cleaner:
=VLOOKUP(B3, 'Data sheet'!B:AE, SEQUENCE(1,30,2,1),
FALSE)
Returns 30 columns starting from column index 2 and
auto-fills horizontally.