Users of UW-Madison's institutional Tableau workbooks may need to pull data from one Microsoft Excel spreadsheet into another spreadsheet. This KB article explains how, by using an Excel formula called vLookup.
Excel's vLookup formula pulls data from one spreadsheet into another by matching on a unique identifier located in both spreadsheets. For example, we want to add a column for email address but that data exists on a separate spreadsheet. vLookup can pull email addresses from Spreadsheet 2 into Spreadsheet 1 by matching CampusID 555123123 in both spreadsheets.
Locate where you want the data to go. Click that cell only once.
At the top, go to the Formulas taband click Lookup & Reference
Excel's vLookup wizard will pop up. We'll walk through each part of the formula.
Find the Unique Identifier (lookup value). It is usually in the same row as the empty cell you selected.
Click once on the Unique Identifier so that the cell position will automatically fill in. In this example it is cell B2.
Go to the next field, Table_array (click in it once). In Spreadsheet 2 highlight the table containing the info you want, starting with the Unique ID.
In this example, Excel looks up Campus ID 555123123 in the first highlighted column of Spreadsheet 2.
Note: Make sure each Unique ID is listed only once in the table_array (on the second spreadsheet) so that vLookup retrieves the correct value. For example, if 555123123 is duplicated in the table_array, where Student firstname.lastname@example.org is the email in one row and Student email@example.com in the other, Excel will choose one of the emails for you.
Go to Col_index_num (click in it once). This identifies which column contains the information you want from Spreadsheet 2.
Type the number of columns your field is from the Unique ID, where the Unique ID is 1. Here, the Email field is the third column.
Go to Range_lookup (click in it once). Type FALSE to search for exact matches. The result will look something like this:
Finally, copy and paste the formula to pull emails for the rest of the column.
(Note: if your table array is in the same Excel workbook, put $ signs around the cell values, similar to the example below. This ensures that you reference the correct cells in the table array, meaning that the table array does not shift down when you paste the formula down. See Advanced Tip below for more details.)
If you feel comfortable with the vLookup tool instructions above, you can type the formula directly in the cell instead of using the wizard.
Type the beginning of the formula:
The formula guide will appear below.
(Note: You may notice Excel displays the formula in 2 places: the formula bar above and directly in the cell. You can edit the formula in either place.)
Follow the guide and enter each value. Remember to insert a comma between each value.
Insert a closed parenthesis ) and hit Enter. The end result will look like something like this:
Finally, copy and paste the formula to pull emails for the rest of the column. Keep relative references in mind and use $ signs where necessary. (See Advanced Tip below for more details.)
The position of the lookup value (Unique ID) in relation to the vLookup formula is maintained when you copy and paste. If you paste the formula one cell down (to E3), it looks up the Unique ID that is also one cell down (B3). The same is true when copying right, left or up.
In other words, the formula will stay x number of columns and y number of rows away from the lookup value – no matter where you paste the formula. In our example, the formula is the fourth column from the CampusID and in the same row. No matter where you paste the formula (in this example), it will always look up the cell that is the fourth cell to the left in the same row.
However, it is possible to lock cells in place by inserting 1 or more $ signs. This means, no matter where you paste the formula, it will always reference the same cell.When copying and pasting the formula, use the $ sign to lock in cells.
To lock in the lookup value in cell B1, insert $ signs before the column and the row:
To lock in the column only, insert a $ before B only.
To lock in the row only, insert a $ before 1 only.