Posted on 18-01-2020 , by: admin , in , 0 Comments


What Does It Do?
This function scans across the column headings at the top of a table to find a specified item. When the item is found, it then scans down the column to pick a cell entry.

=HLOOKUP(ItemToFind, RangeToLookIn, RowToPickFrom, SortedOrUnsorted)
The ItemToFind is a single item specified by the user. The RangeToLookIn is the range of data with the column headings at the top. The RowToPickFrom is how far down the column the function should look to pick from. The Sorted/Unsorted is whether the column headings are sorted. TRUE for yes, FALSE for no.

No special formatting is needed.

Jan Feb Mar row 1 The row numbers are not needed.
10 80 97 row 2 they are part of the illustration.
20 90 69 row 3
30 100 45 row 4
40 110 51 row 5
50 120 77 row 6
Type a month to look for : Feb
Which row needs to be picked out : 4
The result is : 100  =HLOOKUP(F10,D3:F10,F11,FALSE)

Example 1:

This table is used to find a value based on a specified month and name. The =HLOOKUP() is used to scan across to find the month. The problem arises when we need to scan down to find the row adjacent to the name. To solve the problem the =MATCH() function is used.

The =MATCH() looks through the list of names to find the name we require. It then calculates the position of the name in the list. Unfortunately, because the list of names is not as deep as the lookup range, the =MATCH() number is 1 less than we require, so and extra 1 is added to compensate.

The =HLOOKUP() now uses this =MATCH() number to look down the month column and picks out the correct cell entry.

The =HLOOKUP() uses FALSE at the end of the function to indicate to Excel that the column headings are not sorted, even though to us the order of Jan,Feb,Mar is correct. If they were sorted alphabetically they would have read as Feb,Jan,Mar.

Jan Feb Mar
Bob 10 80 97
Eric 20 90 69
Alan 30 100 45
Carol 40 110 51
David 50 120 77
Type a month to look for : feb
Type a name to look for : alan
The result is : 100
 =HLOOKUP(F54,D47:F54, MATCH(F55,C48:C52,0)+1,FALSE)

Example 2:

This example shows how the =HLOOKUP() is used to pick the cost of a spare part for different makes of cars. The =HLOOKUP() scans the column headings for the make of car specified in column B. When the make is found, the =HLOOKUP() then looks down the column to the row specified by the =MATCH() function, which scans the list of spares for the item specified in column C.

The function uses the absolute ranges indicated by the dollar symbol $. This ensures that when the formula is copied to more cells, the ranges for =HLOOKUP() and =MATCH() do not change.



   =HLOOKUP(B79,G72:I77, MATCH(C79,F73:F77,0)+1, FALSE)



Vauxhall Ford VW
GearBox 500 450 600
Engine 1000 1200 800
Steering 250 350 275
Ignition 50 70 45
CYHead 300 290 310

In the following example a builders merchant is offering discount on large orders. The Unit Cost Table holds the cost of 1 unit of Brick, Wood and Glass. The Discount Table holds the various discounts for different quantities of each product.
The Orders Table is used to enter the orders and calculate the Total.

All the calculations take place in the Orders Table. The name of the Item is typed in column C.

The Unit Cost of the item is then looked up in the Unit Cost Table. The FALSE option has been used at the end of the function to indicate that the product names across the top of the Unit Cost Table are not sorted. Using the FALSE option forces the function to search for an exact match. If a match is not found, the function will produce an error. =HLOOKUP(C127,E111:G112,2,FALSE)

The discount is then looked up in the Discount Table If the Quantity Ordered matches a value at the top of the Discount Table the =HLOOKUP will look down the column to find the correct discount. The TRUE option has been used at the end of the function to indicate that the values across the top of the Discount Table are sorted. Using TRUE will allow the function to make an approximate match. If the Quantity Ordered does not match a value at the top of the Discount Table, the next lowest value is used. Trying to match an order of 125 will drop down to 100, and the discount from
the 100 column is used.

=HLOOKUP(D127,E115:G118, MATCH(C127,D116:D118,0)+1, TRUE)

Unit Cost Table
Brick Wood Glass
£2 £1 £3
Discount Table
1 100 300
Brick 0% 6% 8%
Wood 0% 3% 5%
Glass 0% 12% 15%
Orders Table
Item Units Unit Cost Discount Total
Brick 100 £2 6% £188
Wood 200 £1 3% £194
Glass 150 £3 12% £396
Brick 225 £2 6% £423
Wood 50 £1 0% £50
Glass 500 £3 15% £1,275

Unit Cost =HLOOKUP(C127, E111:G112,2, FALSE)

Discount =HLOOKUP(D127, E115:G118, MATCH(C127,D116:D118,0)+1, TRUE)

Leave a comment