Reverse VLOOKUP in Google Sheets: Find Data Right to Left

Published on

We can perform a Reverse VLOOKUP by virtually modifying the range using HSTACK or curly braces in Google Sheets. Of course, alternative solutions like INDEX-MATCH and the modern XLOOKUP function exist. Still, many users rely on VLOOKUP to find data to the left of a table. Do you know why?

Before we get into that, let’s understand what a Reverse VLOOKUP is and how to perform it.

What’s Reverse VLOOKUP in Google Sheets?

Reverse VLOOKUP refers to looking up data from right to left in a table. However, the VLOOKUP function is not designed for this by default.

In a regular VLOOKUP, the search key must be in the first column of your data range. For example, consider this formula:

=VLOOKUP(F3, B2:D5, 2, FALSE)
Conventional VLOOKUP example in Google Sheets retrieving data from a table

Here:

  • The search key is “Susan” in cell F3.
  • The range is B2:D5.
  • The formula searches “Susan” in the first column of the range (B2:B5) and returns a value from the second column of the matching row.

Now, let’s look at a different scenario. How do you look up a roll number and return the corresponding student name or mark?

Reverse VLOOKUP addresses this problem effectively.

Reverse VLOOKUP in Google Sheets: How to Perform It

Scenario: Look up roll number 2 entered in cell F3 in the last column of the range B2:D5 and return the mark from the second column.

Here’s the formula:

=VLOOKUP(F3, {D2:D5, B2:C5}, 3, FALSE)
Reverse VLOOKUP example in Google Sheets to find data from the left of a table

Since VLOOKUP cannot find data to the left, we modified the range virtually. The range is B2:D5, but we want to search in D2:D5. By rearranging the range with curly braces{D2:D5, B2:C5}—we make D2:D5 the first column.

Now, the fields of the modified range are:

  • Column 1: Roll No.
  • Column 2: Student Name
  • Column 3: Mark

Since the index is 3, the formula returns the mark of roll number 2 from the third column of this modified range.

Watch This Video to Master Reverse VLOOKUP in Google Sheets:

Returning Multiple Values

To return both the name and marks, use this formula:

=ArrayFormula(VLOOKUP(F3, {D2:D5, B2:C5}, {2, 3}, FALSE))
Retrieve multiple column values with Reverse VLOOKUP in Google Sheets

Tip: You can use HSTACK instead of curly braces to modify the range virtually. For example:

=ArrayFormula(VLOOKUP(F3, HSTACK(D2:D5, B2:C5), {2, 3}, FALSE))

Find Data Right to Left: Why Choose VLOOKUP over INDEX-MATCH or XLOOKUP?

One key benefit of using VLOOKUP over INDEX-MATCH or XLOOKUP for finding data to the left in Google Sheets is its ability to handle arrays.

Alternatives to Reverse VLOOKUP

Here are equivalent formulas:

  • INDEX-MATCH:
=INDEX(B3:C5, MATCH(F3, D3:D5, FALSE))

MATCH finds the roll number’s position in D3:D5, and INDEX offsets the rows in B3:C5 accordingly.

  • XLOOKUP:
=XLOOKUP(F3, D3:D5, B3:C5)

XLOOKUP searches F3 in D3:D5 and returns the corresponding row from B3:C5.

Why VLOOKUP Excels

If you want to look up two roll numbers (e.g., in F3:F4) and return names and marks for both, use this formula:

=ArrayFormula(VLOOKUP(F3:F4, {D2:D5, B2:C5}, {2, 3}, FALSE))

The alternatives won’t work directly in such cases, making VLOOKUP a better choice for handling multiple lookups simultaneously.

Resources

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Guide Prashanth KV brings a wealth of experience in Google Sheets and Excel, cultivated through years of work with multinational corporations in Mumbai and Dubai. As a recognized Google Product Expert in Docs Editors, Prashanth shares his expertise through insightful blogging since 2012. Explore his blog for practical tips and guidance on maximizing your spreadsheet skills.

Cycle Highlights in Google Sheets – Rotate Highlights Daily

Want to cycle highlights in Google Sheets every day? Whether you're rotating a meal...

Filter Rows Containing Multiple Selected Values in Google Sheets

This tutorial explains how to filter rows in a column containing multiple selected drop-down...

Two-Way Lookup with XLOOKUP in Google Sheets

When you need to look up one search key vertically and another horizontally, you...

How to Filter by Total in Google Sheets Pivot Tables

Google Sheets offers many tools to summarize and analyze data, but Pivot Tables are...

More like this

Cycle Highlights in Google Sheets – Rotate Highlights Daily

Want to cycle highlights in Google Sheets every day? Whether you're rotating a meal...

Filter Rows Containing Multiple Selected Values in Google Sheets

This tutorial explains how to filter rows in a column containing multiple selected drop-down...

Two-Way Lookup with XLOOKUP in Google Sheets

When you need to look up one search key vertically and another horizontally, you...

8 COMMENTS

  1. This is great creating a virtual data range using curly braces saves unnecessary rows and makes the sheet cleaner and faster, thank you.

  2. I tried the below formula. But not successful, please help me.

    =VLOOKUP("BIO";{D2:D9;A2:C9};3;0)

    “Error… In ARRAY_LITERAL, an Array String is missing a value for one or more rows”.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.