How to Pull Data from Another Sheet in Excel

Cody Schneider

Tired of endlessly copying and pasting data between your Excel sheets? Not only is it a mind-numbing task, but it’s also a frequent source of errors that can lead to bad data and even worse decisions. The good news is that you can stop. This tutorial will walk you through a few simple but powerful methods to automatically pull data from another sheet in Excel, creating dynamic, error-proof workbooks that update themselves.

Why You Should Link Sheets Instead of Copy-Pasting

Before jumping into the "how," it's helpful to understand the "why." Manually moving data is tempting for a quick fix, but creating a direct link between sheets offers massive advantages:

  • Data Integrity: When you reference a cell from another sheet, any changes made to the original cell will instantly and automatically update in the new location. This ensures you're always working with the most current information, eliminating the risk of using stale data.

  • Huge Time Savings: Linking data automates a process you would otherwise do manually. Once you set up the formulas, Excel does the repetitive work for you, freeing you up to focus on analysis rather than data entry.

  • Fewer Errors: Every time you copy and paste, you risk making a mistake - grabbing the wrong cell, pasting over existing data, or forgetting to update it later. Linking sheets eliminates this human error entirely.

  • A Single Source of Truth: Best practice is to keep your raw data on one sheet (your "source of truth") and use other sheets for summaries, dashboards, or reports. Pulling data allows an analyst on your team to create custom reports from the raw data without having to disturb or edit the original dataset.

Method 1: The Simple Cell Reference (The "Equals" Method)

This is the most fundamental way to pull data from another sheet. It's perfect for when you need to bring a single data point from one sheet to another, like a grand total or a summary metric.

Let's say you have a sheet named "SalesData" that contains all your raw sales figures, and in cell E50 you have a "Total Revenue" calculation. You want to display this total on a summary sheet named "Dashboard".

Step-by-Step Instructions:

  1. Navigate to your destination sheet ("Dashboard"). Click on the cell where you want the Total Revenue to appear (let's say it's B2).

  2. Type the equals sign: =

  3. Now, without pressing Enter, use your mouse to click on the "SalesData" sheet tab at the bottom of your workbook.

  4. Click directly on the cell you want to pull data from (cell E50). You'll see Excel build the formula for you in the formula bar.

  5. Press the Enter key.

You’ll be taken back to your "Dashboard" sheet, and cell B2 will now display the value from cell E50 of the "SalesData" sheet. The formula in cell B2 will look like this:

=SalesData!E50

Breaking Down the Formula:

  • = starts every formula in Excel.

  • SalesData is the name of the source worksheet.

  • The exclamation mark ! is the crucial character that tells Excel you are referencing a different sheet.

  • E50 is the cell address on that source sheet.

Pro Tip: If your sheet name includes spaces, like "Sales Data", Excel will automatically wrap the name in single quotes in the formula: 'Sales Data'!E50. Don't worry - you don't have to type the quotes yourself, just click the sheet tab and Excel will handle the formatting for you.

Method 2: Using VLOOKUP to Find and Pull Data

What if you don't just want to pull a static cell? What if you need to look up a specific item in a large table on another sheet and pull corresponding information? That's where VLOOKUP (Vertical Lookup) comes in.

Imagine you have a master product list on a sheet called "Products", and a sales log on "SalesLog". On the SalesLog sheet, you type in a Product ID and want Excel to automatically pull its Price from the Products sheet.

The VLOOKUP Syntax

The VLOOKUP formula might look intimidating at first, but it just asks four simple questions:

  • lookup_value: What are you looking for? (e.g., the Product ID cell on your "SalesLog" sheet).

  • table_array: Where are you looking for it? (e.g., the entire table of products on your "Products" sheet). Important: The column containing your lookup_value MUST be the first column in this table array.

  • col_index_num: From the table you selected, which column contains the data you want to get back? (e.g., if the Price is in the 3rd column of your table, you'd enter 3).

  • [range_lookup]: Do you want an exact or approximate match? You will almost always want an exact match, so you'll enter FALSE or 0 here.

Step-by-Step VLOOKUP Example:

Let's assume your "Products" sheet has Product IDs in Column A, Names in Column B, and Prices in Column C.

  1. On your "SalesLog" sheet, click the cell where you want the price to appear (e.g., C2).

  2. Start typing the VLOOKUP formula: =VLOOKUP(

  3. lookup_value: Click on the cell with the Product ID you entered on the "SalesLog" sheet (e.g., B2). Then type a comma ,.

  4. table_array: Click on the "Products" sheet tab. Select the entire data range, starting with the Product ID column (e.g., from cell A2 to C100). Type another comma ,. Tip: Press F4 to make this an absolute reference ($A$2:$C$100). This "locks" the table so it doesn't shift when you drag the formula down.

  5. col_index_num: The price is in the third column of the table you just selected (A=1, B=2, C=3), so type 3, and then add another comma ,.

  6. range_lookup: Type FALSE to tell Excel you want an exact match.

  7. Close the parenthesis ) and press Enter. Your final formula should look something like this:

=VLOOKUP(B2,Products!$A$2:$C$100,3,FALSE)

Now, anytime you type a valid Product ID in cell B2, the corresponding price will automatically appear in C2. You can also drag this formula down the column to work for hundreds of entries.

Method 3: The Modern & More Flexible Approach with XLOOKUP

If you're using a modern version of Excel (Microsoft 365, Excel 2021, or newer), XLOOKUP is the successor to VLOOKUP you should be using. It's more powerful, more intuitive, and fixes many of the annoying limitations of its predecessor.

Why XLOOKUP is Better:

  • It can "look left". Unlike VLOOKUP, your lookup column doesn't have to be the first one in the table.

  • The syntax is simpler. You specify a search column and a results column separately.

  • The default setting is an exact match, so you don't have to remember to type FALSE.

  • It has a built-in "if not found" argument, so you don't need to wrap it in an IFERROR function.

The XLOOKUP Syntax

  • lookup_value: What are you looking for? (Same as VLOOKUP).

  • lookup_array: Find it in this column on the other sheet (e.g., the column of Product IDs on your "Products" sheet).

  • return_array: Get the matching value from this column on the other sheet (e.g., the column of Prices on your "Products" sheet).

  • [if_not_found]: (Optional) Text to display if no match is found (e.g., "Not Found").

Step-by-Step XLOOKUP Example:

Using the same scenario as before:

  1. On your "SalesLog" sheet, click into cell C2.

  2. Start typing the XLOOKUP formula: =XLOOKUP(

  3. lookup_value: Click cell B2 (the Product ID). Add a comma.

  4. lookup_array: Click the "Products" sheet tab, and select just the column containing the Product IDs (e.g., A:A). Add a comma.

  5. return_array: Stay on the "Products" sheet, and select just the column containing the prices (e.g., C:C). Add a comma.

  6. [if_not_found]: Let's add a friendly error message, like "ID not found" (make sure to use quotes).

  7. Close the parenthesis ) and press Enter.

The completed formula is cleaner and easier to read:

=XLOOKUP(B2, Products!A:A, Products!C:C, "ID not found")

Bonus Method: Pulling Entire Lists with the FILTER Function

Sometimes you don't want to pull just one piece of data - you want to pull a whole list of records that meet certain criteria (e.g., all sales from a specific region). For modern Excel users, the FILTER function is a complete game-changer.

It "spills" the array of results dynamically into the cells below the formula. You only write the formula in one cell, and it automatically populates all the results.

Say you want to pull a record of all sales handled by a specific sales rep, "Sarah Lee," from your main "SalesData" sheet onto a new sheet named "SarahsReport".

Step-by-step FILTER Example:

Let's assume your main "SalesData" sheet has columns for Date (A), Product (B), Sales Rep (C), and Amount (D).

  1. Go to your destination sheet ("SarahsReport") and click on the cell where you want your report to start (e.g., A2).

  2. Type the formula: =FILTER(

  3. array: The first argument is the full range of data you want to return. Click on the "SalesData" sheet and select everything (e.g., A2:D500). Add a comma.

  4. include: This is your condition. On the "SalesData" sheet, select the column you want to test (the Sales Rep column, C2:C500). Then type your condition:="Sarah Lee".

  5. (Optional) Add a comma and text to show if no results are found, like "No records found".

  6. Close the formula ) and press Enter.

The formula will look like this:

=FILTER(SalesData!A2:D500, SalesData!C2:C500="Sarah Lee", "No records found")

Instantly, a complete table of every sale made by "Sarah Lee" will appear on your report sheet. And if a new sale for Sarah gets added to "SalesData", your report will automatically update to include it.

Final Thoughts

Moving from manual copy-pasting to dynamic formulas is a breakthrough moment for any Excel user. Whether you're using simple cell references, finding specific data with VLOOKUP or XLOOKUP, or pulling entire lists with FILTER, these techniques transform your static spreadsheets into powerful, interconnected reporting tools.

While mastering these Excel functions is a great step, the real time-sink for most teams is wrangling data from different online applications before it even gets into a spreadsheet. We built Graphed to solve exactly this problem. Instead of manually exporting CSVs from your sales and marketing tools, we allow you to connect them all in one place and build live, auto-updating dashboards with simple, natural language. It's like having these formulas work across all your platforms, without you ever having to write one.