TL;DR: This article covers various lookup and reference functions in spreadsheets, such as VLOOKUP, HLOOKUP, INDEX and MATCH, OFFSET, and CHOOSE. These functions help users locate specific information in large datasets and improve the overall efficiency of spreadsheet projects. By understanding and applying these powerful functions, beginners can enhance their spreadsheet skills and tackle more complex tasks with ease.

When working with spreadsheets, especially those containing large amounts of data, it can be challenging to locate specific information or perform calculations based on a particular value. Fortunately, spreadsheet applications offer a range of lookup and reference functions designed to make these tasks more manageable. In this article, we will explore various lookup and reference tools in spreadsheets, including their purpose, how to use them, and practical examples to help you get started. By the end of this guide, you will have a solid understanding of these powerful functions and be ready to apply them to your own projects.

VLOOKUP and HLOOKUP: Vertical and Horizontal Lookup Functions

VLOOKUP and HLOOKUP are two of the most popular lookup functions in spreadsheets, allowing you to search for a specific value in a table and return corresponding data from another column or row.

VLOOKUP searches vertically down the first column of a table and returns a value from the same row in a specified column. Its syntax is as follows:

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

HLOOKUP works similarly but searches horizontally across the first row of a table and returns a value from the same column in a specified row. Its syntax is:

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

In both cases, the optional [range_lookup] argument determines whether the function searches for an exact match (FALSE) or an approximate match (TRUE). If omitted, it defaults to TRUE.

Example: Suppose you have a table of products with their prices and want to find the price of a specific product. You can use the VLOOKUP function as follows:

=VLOOKUP("Product Name", A1:B10, 2, FALSE)

This formula will search for "Product Name" in the first column of the table in the range A1:B10 and return the corresponding price from the second column.

INDEX and MATCH: Flexible Lookup Function Combination

While VLOOKUP and HLOOKUP are powerful lookup functions, they have limitations, such as being unable to search to the left of the lookup column or row. The INDEX and MATCH functions, when combined, offer a more flexible alternative for lookups.

The INDEX function returns the value of a cell within a specified range based on its row and column position. Its syntax is:

=INDEX(array, row_num, [column_num])

The MATCH function searches for a specified value within a range and returns its relative position. Its syntax is:

=MATCH(lookup_value, lookup_array, [match_type])

By combining these two functions, you can create a more versatile lookup formula:

=INDEX(return_range, MATCH(lookup_value, lookup_range, [match_type]))

Example: To find the price of a specific product using the INDEX and MATCH combination, use the following formula:

=INDEX(B1:B10, MATCH("Product Name", A1:A10, 0))

This formula searches for "Product Name" in the range A1:A10 and returns the corresponding price from the range B1:B10.

OFFSET: Dynamic Range Reference Function

The OFFSET function allows you to create dynamic range references based on a starting cell and specified row and column offsets. Its syntax is:

=OFFSET(reference, rows, cols, [height], [width])

The function returns a cell or range reference that is "rows" and "cols" away from the starting "reference" cell. The optional [height] and [width] arguments determine the size of the returned range.

Example: To find the price of a product in a list where the product name is in cell A1, and the prices are in column B, you can use the following formula:

=OFFSET(A1, 0, 1)

This formula returns the value one column to the right of the product name in cell A1, which corresponds to the product's price.

CHOOSE: Selecting a Value Based on Index

The CHOOSE function allows you to select a value from a list of options based on a specified index number. Its syntax is:

=CHOOSE(index_num, value1, [value2], ...)

The function returns the value corresponding to the provided index number. If the index number is not an integer or is outside the range of available options, the function returns an error.

Example: Suppose you have three different shipping options with corresponding costs in cells A1, B1, and C1. You can use the CHOOSE function to display the cost for the selected shipping method, based on an index number in cell D1:

=CHOOSE(D1, A1, B1, C1)

If D1 contains the value 2, the formula will return the cost of the second shipping option in cell B1.


Lookup and reference functions in spreadsheets are essential tools for working with large datasets and efficiently retrieving specific information. By mastering the use of VLOOKUP, HLOOKUP, INDEX and MATCH, OFFSET, and CHOOSE functions, you can enhance your spreadsheet skills and improve the overall functionality of your projects. Remember that each function has its strengths and limitations, so it's essential to choose the most appropriate tool for your specific needs. With practice and experience, you'll become a spreadsheet lookup and reference pro in no time.

More in Formulas and Functions

Use of this website is under the conditions of the Spreadsheet Basics Terms of Service.

All rights reserved. Contact us to discuss content use.

Text and images Copyright © Spreadsheet Basics.

Privacy is important and our policy is detailed in our Privacy Policy.

See the Cookie Information and Policy for our use of cookies and the user options available.