The Vlookup Importrange combination in Google Sheets lets you search and import matching values from one spreadsheet to another.
If you already know how to use VLOOKUP and IMPORTRANGE, combining them is straightforward—but there are a few important tricks and performance tips you shouldn’t miss.
In this guide, you’ll learn:
- How to use Vlookup Importrange in Google Sheets
- How to apply multiple conditions
- How to return multiple results
- Faster alternatives using QUERY and LET
Quick Answer
To use Vlookup Importrange in Google Sheets:
=VLOOKUP(A2, IMPORTRANGE("URL", "Sheet1!A1:F"), 6, FALSE)
- Import data using
IMPORTRANGE - Wrap it inside
VLOOKUP - Use
FALSEfor exact match
When to Use Vlookup Importrange in Google Sheets
Use Vlookup Importrange in Google Sheets when you need to:
- Retrieve matching data from another spreadsheet
- Keep data updated dynamically across multiple files
- Perform lookups based on a unique identifier (like ID, email, or a combined key)
- Quickly match and return values from a structured dataset
When Not to Use It
- When you need to look up data to the left of the search column (use XLOOKUP instead)
- When your formula uses multiple IMPORTRANGE calls, which can slow performance (use LET to optimize)
- When you need more flexible filtering or SQL-like queries (use QUERY instead)
What is Vlookup Importrange in Google Sheets?
Vlookup Importrange in Google Sheets means using:
IMPORTRANGE→ to pull data from another fileVLOOKUP→ to search and return matching values
This allows you to look up data across different Google Sheets files dynamically.
Basic Example of Vlookup Importrange in Google Sheets
The following example shows how to use Vlookup Importrange in Google Sheets to search and return matching values from another spreadsheet.
Setup
We will use two files:
- Source file: Sales
- Destination file: Analysis
In the source file (Sheet1), the data is in columns A to F:
- Column A: First Name
- Column B: Last Name
- Column C: Sales Item
- Column D: Sales Qty
- Column E: Unit Rate
- Column F: Total Amount

In the destination file, the lookup values (names) are listed in A2:A.
Lookup Goal
Using Vlookup Importrange in Google Sheets, we will:
- Search the name in cell A2 (destination file)
- Match it with column A in the source file
- Return the corresponding value from a specified column (for example, column F – Total Amount)
Result
This setup allows you to dynamically fetch matching data from another spreadsheet based on a lookup value.
Before using Vlookup Importrange in Google Sheets, you must first connect the source and destination files.
Step 1: Import Data
First, import the data from the source file into the destination file using the IMPORTRANGE function.
=IMPORTRANGE("URL", "Sheet1!A1:F")
- Replace
URLwith the link to your source spreadsheet - Replace
Sheet1with your actual sheet name (if different) - Press Enter and click Allow Access when prompted
This step connects the two files and makes the source data available for the lookup formula.

Step 2: Apply Vlookup
Now, wrap the IMPORTRANGE formula with VLOOKUP:
=VLOOKUP(A2,
IMPORTRANGE("URL", "Sheet1!A1:F"),
6, FALSE
)
This formula:
- Searches for the value in A2
- Looks for a match in column A of the imported data
- Returns the corresponding value from column 6 (column F)
- Uses FALSE to ensure an exact match
Vlookup Importrange with Multiple Search Keys
If you have multiple lookup values:
=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A,
IMPORTRANGE("URL", "Sheet1!A1:F"),
6, FALSE)))

Why This Formula Works
ARRAYFORMULA→ applies Vlookup to multiple rowsA2:A→ supports future entries automaticallyIFERROR→ removes#N/Aerrors
This is one of the most practical lookup use cases.
Vlookup Importrange with Multiple Criteria
Assume you have first names and last names in the destination file.

How can you use both columns to perform a lookup in the source file?
To use Vlookup Importrange in Google Sheets with multiple criteria, you need to:
- Combine the search keys (first name + last name)
- Combine the corresponding columns in the source data
- Create a virtual lookup table
Formula
=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A&B2:B,
{
IMPORTRANGE("URL", "Sheet1!A2:A")&
IMPORTRANGE("URL", "Sheet1!B2:B"),
IMPORTRANGE("URL", "Sheet1!C2:F")
},
5, FALSE)))
Key Idea
- Use
&to combine first name and last name - Build a virtual lookup table using
{} - Adjust the column index (here, 5) based on the new structure

Improve Performance Using LET (Recommended)
In the previous example, we used multiple IMPORTRANGE functions to import specific sections of the table from the source sheet. However, multiple IMPORTRANGE calls can slow down your spreadsheet.
A better approach is to use the LET function. With LET, you can import the entire table once, assign it a name, and then use CHOOSECOLS to extract the required columns.
Optimized Formula
=ARRAYFORMULA(LET(
sk, A2:A&B2:B,
rg, IMPORTRANGE("URL", "Sheet1!A2:F"),
VLOOKUP(sk, {CHOOSECOLS(rg, 1)&CHOOSECOLS(rg, 2), CHOOSECOLS(rg, {3, 4, 5, 6})}, 5, FALSE)
))
Benefits:
- Uses
IMPORTRANGEonly once - Faster calculation
- Cleaner structure
This is the best practice for Vlookup Importrange in Google Sheets today.
XLOOKUP Importrange Alternative
Unlike VLOOKUP, XLOOKUP uses separate lookup and result ranges, making it easier to combine with IMPORTRANGE.
Formula
=ARRAYFORMULA(LET(
sk, A2:A&B2:B,
rg, IMPORTRANGE("URL", "Sheet1!A2:F"),
XLOOKUP(sk, CHOOSECOLS(rg, 1)&CHOOSECOLS(rg, 2), CHOOSECOLS(rg, 6))
))
Why Use This Approach?
- No need to specify a column index
- More flexible than VLOOKUP
- Works well with LET for better performance
You can learn more about this combination in my detailed tutorial: XLOOKUP with Single IMPORTRANGE & LET in Google Sheets.
QUERY as an Alternative to Vlookup Importrange in Google Sheets
You can also use QUERY for the same purpose. If you want a detailed guide, check out my tutorial on How to Use Query with Importrange in Google Sheets.
Single Condition:
=QUERY(IMPORTRANGE("URL","Sheet1!A2:F"),
"SELECT Col6 WHERE Col1='"&A2&"'")

Multiple Conditions:
=QUERY(IMPORTRANGE("URL","Sheet1!A2:F"),
"SELECT Col6 WHERE Col1='"&A2&"' AND Col2='"&B2&"'")

When to use QUERY?
- Easier to read
- Better for filtering
- Not ideal for large array outputs
Vlookup vs Query: Which is Better?
| Feature | Vlookup Importrange | Query Importrange |
| Ease of use | Medium | Easy |
| Performance | Better (with LET) | Good |
| Multiple results | Excellent | Limited |
| Flexibility | High | High |
Use Vlookup Importrange in Google Sheets when you need scalable, dynamic results.
Common Mistakes to Avoid
- Not clicking Allow Access when using IMPORTRANGE
- Using the wrong column index in VLOOKUP
- Forgetting to set FALSE for exact match
- Using multiple IMPORTRANGE functions unnecessarily, which can slow performance
Conclusion
The Vlookup Importrange in Google Sheets method is still one of the most powerful ways to combine data across files.
- Use ARRAYFORMULA for multiple results
- Use LET for better performance
- Use QUERY for simpler conditions
If performance matters, always optimize your formulas—especially when working with large datasets.
Hello,
I am trying to use the QUERY + IMPORTRANGE formula.
Here is the formula:
=Query(IMPORTRANGE("1x0O6WEg-itX_0eGChEFhZAnrlN5cRDdvuyyc6rPt__Q", "'Payment Record'!A1:E"),
"Select Col4 where Col2='"&Orders!C8&"' and Col3='"&B2&"'")
Where Orders!C8 is a string from another sheet of the current workbook, and B2 is a date.
The IMPORTRANGE table’s Col2 and Col3 columns are the same data type.
The value it returned was the Col4 header value.
I hope you will be able to assist.
Hi, Khairy,
That’s not the way you should use date criteria in Query.
Replace
Col3='"&B2&"'withCol3=date '"&TEXT(B2,"yyyy-mm-dd")&"'Hi, This is exactly all the pieces of information and experience I was looking for.
I was stuck with
"query(importrange("as I needed an array result, which was impossible.Thank you very much for sharing your knowledge with simples explanations and step decomposition of the formulas.
Hello,
I’m trying to figure out how to import data from another sheet with a condition.
I have used the regular Vlookup + Importrange and it worked beautifully when I didn’t need conditions. But now I want to add to it that I only want the data imported to the new table if on the original table the column D = “September”.
Would you be able to help? I really appreciate it!
Hi, Luiza,
You may read this.
How to Use Query With Importrange in Google Sheets.
If you still have issues, you may create a sample sheet and leave the URL in the comment reply below. I’ll try my best.
Yes, I have the same problem… the reference sheet that I want to import info from is very large … 26 columns and over 30000 rows.
=VLOOKUP(K3,IMPORTRANGE("url","Sheet 1!A:Z"),2,FALSE)and the error message is #ERROR! results too large.
Hope you can assist, Is there a limit on the “range” to be imported with the VLookup.
The range is A9:W7900, I get a #REF! error, if I reduce the range to say, A9:1500 it works fine.
What am I missing?
Hi, Jaime,
Hover your mouse pointer over the (cell containing) error and see the error message. So you will get an idea why the error is happening.
Best,