Home
Blog
Link Spreadsheet Data
Enterprise
Data-Analytics

How to Pull Data from Another Sheet in Excel (Step by Step)

August 23, 2021
2 mins read

Manually copying and pasting values from one sheet to another is such a time-wasting process. Not to mention, each time you add a new value in “Sheet A”, it won’t magically appear in “Sheet B”, and vice versa.

The better option would be to link those two spreadsheets using Excel formulas, which I’ll explain in this tutorial.

How to pull data from another sheet in Excel

To pull data from one spreadsheet to another, it's actually pretty simple. Just specify the cell being copied into the destination cell.

For instance, you've got a value in cell C8 of Sheet1. And you want the data to appear in cell B6 of Sheet2. To sync the value, open cell B6 of Sheet2 and enter this formula:

=Sheet1!C8

But there are also other Excel functions you can use to pull data from a worksheet to another, including INDEX and VLOOKUP.

How to pull data from another Excel sheet using the INDEX function

INDEX is an Excel command to scan an array or data range inside a sheet, and pull data from specific "coordinates" (row number and column number) within that area.

=INDEX(array;row_num;column_num)

So if you want the value inside cell B5 of Sheet1 to appear in another sheet.

pull data from another Excel sheet

Open your destination cell and enter:

=INDEX(Sheet1!A1:D13;5;2)

pull data from another Excel sheet

Explanation:

  • Sheet1!A1:D13 – is your array. It tells Excel to look within the range A1 to D13 on "Sheet1".
  • 5 – is the row_num. It tells Excel to pull data from row 5 within that array.
  • 2 – is the column_num. It tells Excel to pull data from the 2nd column (or column B) within that array.

How to pull data from another Excel sheet using the VLOOKUP function

VLOOKUP is widely used to find specific values in a table or data range, and then retrieve those to different columns in another sheet.

=VLOOKUP(lookup_value;table_array;col_index_num;[range_lookup])
  • lookup_value – the exact reference point. This could be a cell (A2), or a hardcoded value ("Product A").
  • table_array – the range of cells where Excel will look for your lookup_value and from which it will retrieve the matching data. 
  • col_index_num – the column number within the table_array that contains the value you want to return. The leftmost column in your table_array is always column 1.
  • [range_lookup] – an optional argument for getting an exact match or an approximate match value. TRUE or omitted: Approximate match. The table_array's first column must be sorted in ascending order. FALSE: Exact match. This is what you'll use almost always for precise lookups.

Sounds confusing? I’ll show you how it works. 

You have two spreadsheets in the same Excel workbook. The first one contains product information you want to pull. Let’s call it a “Product” sheet. 

While the second one is a “Report” worksheet where you want to display the retrieved product data. 

second one is a “Report” worksheet

Now, your goal is to populate the “Product Name” column in the “Report” sheet. To do that, you'll have to retrieve the value from the relevant cell in the “Product” sheet:

Step 1 - Go to the “Report” sheet.

Step 2 - Select the cell where you want the product name to appear. Since you want to populate the first product name column, it should be C5.

Step 3 - Input this to that cell: =VLOOKUP(B5, Product!B5:C100, 5, FALSE)

Step 4 - Press Enter. Excel will look up a product ID in B5 and return the product name from the fifth column of the Product sheet. 

Step 5 -  Cell C5 should now show "Laptop". Drag the fill handle (the small square at the bottom-right of cell C5) down to C7 to apply the formula to "Mouse" and "Keyboard".

How to aggregate data from multiple Excel Sheets

Below, you'll find the steps to combine and sum up data from multiple sheets and workbooks with the Consolidate command, Power Query function, and SUMIFS formula.

How to aggregate data from multiple Excel sheets using the Consolidate tool

Looking to calculate the value of multiple datasets from different sheets? You can use the data consolidation feature:

Step 1 - Open the sheet where you want to add the consolidated data to.

Step 2 - Head to DataConsolidate.

Head to Data → Consolidate

Step 3 - From the Consolidate window that appears, select the function you want to use from the dropdown.

Step 4 - Click the Reference field, then go to your first sheet and select the range you want to pull in. Click the + button to include it.

then go to your first sheet and select the range you want to pull

Step 5 - Repeat for each additional sheet or workbook.

Step 6 - Once you’ve added all your data ranges, click OK.

How to aggregate data from multiple Excel sheets using the Power Query feature

Power Query is a tool for combining data from multiple sheets into a single dataset.

Imagine this. You have an Excel workbook file, let's just call it SalesReport2025.xlsx. It contains various sheets: 

  • Sales_by_Product
  • Sales_by_Region
  • Customer_Data
  • Product_List

And now, your goal is to merge the Sales_by_Product and Sales_by_Region sheets.

To do that:

Step 1 - Create a new Excel workbook for the new combined data.

Step 2 - Click DataGet Data (Power Query) from the top menu.

Click Data → Get Data (Power Query)

Step 3 - You’ll be asked to choose a data source. Select Excel workbook.

choose a data source

Step 4 - Click Browse and select the workbook you want to query.

Step 5 - Click Import and the Navigator window will appear. It shows you all the sheets and Excel Tables found within the selected workbook.

Step 6 - Check the box that says Select multiple items. Then select each sheet you want to retrieve and combine data from.

Step 7 - Click Transform Data.

The Power Query Editor would appear. From there, you'll see a separate query for each sheet you've selected before.

To combine those sheets:

Step 1 - Select one of your sales queries in the Queries pane on the left.

Step 2 - Open the Home tab, then click Append Queries (dropdown arrow) → Append Queries as New.

Step 3 - In the Append dialog box, select Three or more tables

Step 4 - Add all your relevant sales queries to the Tables to append list.

Step 5 - Click OK.

A new query (often named Append1) will be created. 

Finally, open the Home tab and click Close & Load. Your combined data from multiple sheets will now appear as a single, clean Excel Table.

Dynamic data retrieval using the INDIRECT function

Use INDIRECT to turn text values into actual cell or range references. This allows your formulas to respond to changes in sheet names, cell addresses, or user input — without having to rewrite the formula each time.

Say your sheet has:

  • Cell A1 has value "10"
  • Cell B1 has value "A1"

Now, if you write =B1 in another cell, Excel just gives you whatever is literally in B1 – which would be the text "A1".

But if you write =INDIRECT(B1), something different happens. Excel reads what's in B1 (the text "A1"), then uses that text as directions to go find cell A1, and brings back the value from there – which is 10.h

Note: INDIRECT() does not work with closed workbooks. The referenced sheet must be open in Excel.

How to automate the process of pulling spreadsheet data 

Is there a way to automate data pulling and management in Excel? Yes, with VBA (Visual Basic for Applications).

Use VBA when:

  • You regularly pull the same type of data from multiple sheets or workbooks.
  • You want to reduce manual work.
  • You need more flexibility than Excel formulas allow

To access the VBA editor, follow the steps laid out on Microsoft’s help page.

Here are some basic VBA scripts you can use:

Pulling data from another sheet in the same workbook

Sub PullDataFromSameSheet()

    Dim wsSource As Worksheet
    Dim wsDestination As Worksheet
    Dim lastRowSource As Long

    ' Set your source and destination sheets
    Set wsSource = ThisWorkbook.Sheets("RawData")
    Set wsDestination = ThisWorkbook.Sheets("Summary")

    ' Find the last row with data in the source sheet's column A
    lastRowSource = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row

    ' Clear previous data in the destination range (optional, but good practice)
    wsDestination.Range("A2:C1000").ClearContents ' Adjust range as needed

    ' Copy data from A1:C (up to lastRowSource) on RawData to A2 on Summary
    wsSource.Range("A1:C" & lastRowSource).Copy Destination:=wsDestination.Range("A2")

    MsgBox "Data pulled successfully from RawData to Summary!", vbInformation

End Sub

Pulling data from a closed workbook (most common for automation)

Sub PullDataFromClosedWorkbook()

    Dim wsDestination As Worksheet
    Dim sourceFilePath As String
    Dim sourceSheetName As String
    Dim sourceRange As String
    Dim destinationStartCell As String

    ' --- Configuration ---
    Set wsDestination = ThisWorkbook.Sheets("ConsolidatedData") ' Your destination sheet
    sourceFilePath = "C:\Users\YourUser\Documents\MonthlyReports\Sales_March.xlsx" ' Full path to the source file
    sourceSheetName = "SalesData" ' Name of the sheet in the source file
    sourceRange = "A1:D100" ' Range to pull from the source sheet
    destinationStartCell = "A2" ' Where to paste data on the destination sheet
    ' ---------------------

    ' Clear previous data (optional)
    wsDestination.Cells.ClearContents

    ' Build the full reference string for the source data
    ' This uses a special Excel syntax for referencing closed workbooks
    Dim formulaString As String
    formulaString = "='" & sourceFilePath & "]" & sourceSheetName & "'!" & sourceRange

    ' Place the formula into the destination sheet
    ' Excel will automatically convert this array formula to values if it's the only thing in the cell
    With wsDestination.Range(destinationStartCell)
        .Formula = formulaString
        ' Convert the formulas to values to break the link and improve performance (optional)
        .Value = .Value
    End With

    MsgBox "Data pulled successfully from " & sourceFilePath, vbInformation

End Sub

Common issues when pulling information from another Excel worksheet

Below are some issues that often happen when you pull data from an Excel sheet and how to fix them.

#REF! error

This error occurs when a reference is invalid. Usually because a cell, column, or sheet was deleted, or exists outside a valid range. 

For example, VLOOKUP(A1, B1:C10, 3, FALSE) would result in a #REF! error. Why? Because B1:C10 only has two columns, but you're asking for the 3rd.

If you see this error, keep calm. Click on the cell that’s showing #REF! and look at the formula bar to identify the parts of the formula that are causing the error.

Check whether the sheet, cell, or data range it references is still there. Also, make sure you are not requesting a column number or index that is out of range like the example above.

If the reference sheet, cell, or data range is missing, re-select the correct one. You can also use named ranges or Excel Tables to avoid hard-coded references, which I’ll explain later.

Circular reference warning

A circular reference usually happens when a formula refers to its own cell, whether directly or indirectly. As such, this creates an infinite loop.

For instance, if you type =A1+5 into cell A1, you've created a direct circular reference. Excel needs to know the value of A1 to calculate A1+5, but A1's value is A1+5. So it's a never-ending loop.

Another example:

  • In cell A1, you type =B1+10.
  • In cell B1, you type =A1*2. 

Here, A1 depends on B1, and B1 depends on A1, forming a loop. Excel won't be able to determine a final value for either.

To fix this, go to the Formulas tab → Error Checking Circular References. This menu will list all cells involved in circular references. Clicking on a cell in this list will take you directly to it.

Once you've identified a cell involved, click Trace Precedents from the main Formulas tab to see cells that affect the current cell and Trace Dependents to see cells that are affected by the current cell. By doing so, you can visually map out the formula dependencies and identify the loop.

Best practices for organizing data in Excel

In Excel, even the smallest mistake can lead to data retrieval errors. Maybe you've added an extra space to your formula. Maybe there's a missing value or inconsistent formatting.

Thus, if you want to ensure accuracy, maintain data integrity, and make your spreadsheets easier to manage and scale, follow these best practices:

Structure your data as a table

An Excel Table makes your data easier to analyze, reference, and format. Each time you add new values, it automatically expands to include new rows or columns. As such, your formulas will always reference the latest and correct dataset, greatly minimizing errors.

Simply select a cell range containing your data. Then, press Ctrl + T to transform those rows and columns into an Excel Table.

Simplify Excel formulas with named ranges

Want your formulas to be easier to read and less prone to errors? Named ranges are a great solution.

Instead of a cryptic cell reference like Sheet1!$D$2:$D$500, a named range makes it possible to assign a descriptive name to a cell or range, such as Sales_Jan or Client_New.

This undoubtedly brings nice advantages:

  • Readability: =SUM(Total_Sales_Amount) is easier to understand, memorize, and execute than =SUM(Sheet1!$D$2:$D$500)).
  • Robustness: If you add or delete rows/columns within a named range, the range automatically adjusts. So, your formulas will always reference the correct cells. However, static named ranges only adjust for inserted/deleted rows inside the range but won’t expand automatically. Use Excel Tables (Ctrl + T) for that.
  • Easy finding: You can easily find any named range by typing it in the Name Box (located left of the formula bar).

Here’s how you give your cells a name:

Step 1 - Select the cell range you wish to name.

Step 2 - Click the Name Box (located in the left of the formula bar).

Step 3 - Type your desired name. Remember these rules: No spaces. Use underscores (_) or periods (.) instead like Sales_March, Customer_ID, or Best.Seller. The name can’t start with a number, can’t be the same as a cell reference (e.g., A1), and it can only be 255 characters long.

Step 4 - Press Enter.

Create the automation that
drives valuable insights

Organize your big data operations with a free forever plan

Schedule a demo
What is Boltic?

An agentic platform revolutionizing workflow management and automation through AI-driven solutions. It enables seamless tool integration, real-time decision-making, and enhanced productivity

Try boltic for free
Schedule a demo

Here’s what we do in the meeting:

  • Experience Boltic's features firsthand.
  • Learn how to automate your data workflows.
  • Get answers to your specific questions.
Schedule a demo

Frequently Asked Questions

If you have more questions, we are here to help and support.

The easiest way is via the = function. If you want data in cell B5 of SheetA to appear in another sheet, type =SheetA!B5 in the destination cell.

You can sync two different Excel spreadsheets using VBA scripts or automation software like Zapier.

Use a syntax like: =VLOOKUP(A2, Sheet2!A2:C100, 2, FALSE). This means Excel will look for the value in cell A2, search the table on Sheet2, from A2 to C100, and return the exact value from column 2 of that range.

To pull data from another sheet in Excel based on a cell value, you'll primarily use lookup functions like VLOOKUP, XLOOKUP, or INDEX/MATCH.

Use this basic syntax: SheetName!CellReference. If you want to reference a cell based on a text string, use =INDIRECT(cell name).

You can use the Power Query tool to import, transform, and load data from another Excel workbook into your current workbook.

Create the automation that drives valuable insights

Try boltic for free