.


:




:

































 

 

 

 


Select one from a range of options




 

Tools: functions VLOOKUP, HLOOKUP

Level: intermediate

Problem

The property tax rates established by Buttercreek City Council are 0% for all real estate in zip code 88880, 0.1% for all properties in zip code 88881, 0.15% for all properties in zip code 88882 and 0.2% for all properties in zip code 88883. How does one determine the appropriate tax rate for a given property location?

Solution

Typically, an Excel user will think of a straightforward decision tree built as a nested IF statement looking like the following. Cell A1 contains a property location variable.

 

=IF(A1=88880,0,(IF(A1=88881,0.001,(IF(A1=88882,0.0015,0.002)))))

 

This formula is not the best solution, as it has several problems

 

  • It is complicated to write, enter or edit, especially easy to miss the brackets.
  • If a condition is changed, or a new condition is added, all instances of the formula must be changed. Manually. You cannot use a range with tax figures and thresholds.
  • You can only nest a formula a limited number of levels (for Excel 2003 the limit is 7, for Excel 2007 and 2010 it is 64).
  • It is UGLY.

 

As a matter of fact, the decision tree problem quickly boils down to choosing from a list.

 

Excel contains a special CHOOSE function for choosing a value from a list. Using it will result in something like this. Cell A1 contains the number of position in a list.

 

=CHOOSE(A1,0,0.001,0.0015,0.002)

 

It is not much better, though:

  • Every argument must be entered separately and manually.
  • CHOOSE second and subsequent arguments cannot refer to a range.
  • The value is chosen by its position in the list, no criteria are involved.
  • In Excel 2003, CHOOSE can take only 30 arguments.

 

Is there a way to just type a list of zip codes and tax rates and pull out a rate?

Use VLOOKUP function with a list. VLOOKUP stand for "Vertical Lookup"

 

  1. Create a new service sheet and enter a list
  2. (OPTIONAL) Name range A2:B6 e.g. property_tax.
  3. (OPTIONAL) Name range A1:A1 (the cell where the zip variable is located) e.g. zip.
  4. Enter a formula: =VLOOKUP(zip,property_tax,2,0).

 

  A B
    =VLOOKUP(A1,property_tax,2,0)
  ZIP TAX
    0.00%
    0.10%
    0.15%
    0.20%

 

What the VLOOKUP formula does: it compares the value in zip (argument "zip") with values in first column of property_tax (argument "property_tax") and then returns the value in the same row and nth column of the range in our case, it is a second column (argument "2"). The last "0" argument is optional and forces VLOOKUP to find an exact match in Column 1.

 

If for some reason your data is a horizontal, rather than a vertical range, HLOOKUP formula must be used instead. The formula syntax is exactly the same, except that, as name suggests, HLOOKUP is "horizontal" and so finds a match in first row and then brings the value from the nth row below.

 

  A B C D E
    =HLOOKUP(A1,property_tax,2,0)
  ZIP        
  TAX 0.00% 0.10% 0.15% 0.20%

 

Things to keep in mind:

 

If your list contains non-unique criteria values, VLOOKUP and HLOOKUP find the FIRST match and stop. When you set up a decision tree, make sure you criteria do not overlap and use the optional range_lookup switch wisely.

VLOOKUP searches only to the right and HLOOKUP down. Their criteria range is always the first column and the first row, respectively. If you need to use for your criteria a row or column in the middle, use another solution. We will provide some later.

In my experience (and experience of most Excel masters), vertical ranges are much easier to use and handle, and keep in mind you have much more room in your spreadsheet down than right, too. Excel 2010 gives you only 65,536 rows by 256 columns, and earlier versions have even less.

Formula syntax

Code Variable Comment
=VLOOKUP(    
zip Lookup_value Value that you are looking for in the table_array
property_tax Table_array Table where the Lookup_value and the values that correspond to it are located
  Col_index_num Number of the column in the Table_array where the value that you want the formula to return is located
  Range_lookup Optional: 1 (default) is an approximate match, 0 is an exact match
)   Formula complete

 

Similar tasks

Task 1. You have a list of monthly average rainfall levels for Sydney.

 

  A B C
  Month mm inches
  Jan 103.4 4.1
  Feb 111.0 4.4
  Mar 131.3 5.2
  Apr 129.7 5.1
  May 123.0 4.8
  Jun 129.2 5.1
  Jul 102.8 4.0
  Aug 80.3 3.2
  Sep 69.3 2.7
  Oct 82.6 3.3
  Nov 81.4 3.2
  Dec 78.2 3.1
  Year 1222.7 48.1

 

Source: GHCN, based on 1790 months between 1840 and 1989

 

If you know the month, how do you get the average rainfall in inches from this table?

 

Solution

 

=VLOOKUP(Aug,A1:C14,3)

 

Task 2. You have a list of public debt of European Union member states (in billions of euro).

 

  A B
  EU member country  
  Germany 2,088,472
  Italy 1,897,179
  France 1,717,256
  United Kingdom 1,547,506
  Spain 734,961
  Netherlands 392,506
  Belgium 361,735
  Greece 355,617
  Austria 217,399
  Poland 192,672
  Portugal 184,291
  Ireland 169,264
  Sweden 150,484
  Denmark 111,766
  Norway 101,533
  Finland 93,030
  Hungary 72,134
  Czech Republic 60,798
  Romania 44,607
  Slovakia 29,911
  Slovenia 16,954
  Cyprus 12,720
  Lithuania 11,827
  Iceland 10,140
  Latvia 8,618
  Luxembourg 7,786
  Bulgaria 6,286
  Malta 4,600
  Estonia  

 

Source: Eurostat, 2012

 

How do you retrieve from this table the debt of Italy?

 

Solution

 

=VLOOKUP(Italy,A1:B30,2)

 





:


: 2016-11-23; !; : 366 |


:

:

, .
==> ...

1781 - | 1534 -


© 2015-2024 lektsii.org - -

: 0.015 .