Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and Excel in Office 365. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Determining a State from an Area Code.

Determining a State from an Area Code

by Allen Wyatt
(last updated December 10, 2018)

1

Steve has phone numbers in column A, such as 3035551212, and would like to be able to look at the first three digits (the area code) and return in column B, the state with which that area code is associated. He wonders about the best way to accomplish this.

Excel has many functions that make life easier when you are trying to manipulate data. In this case, using the VLOOKUP function to match the area code to the corresponding state is simple.

Before applying a function to retrieve the information you want, you need to create a simple data table that contains the data you want retrieved. In this table, you need to have the area codes and states in their own columns side-by-side, within your worksheet, sorted by area code. For instance, you might put the area codes in column F and the states for those area codes in column G. The area codes and states can be found on a number of websites, or you can create your own table if you prefer.

Once you've got the data into the two columns, select those columns and create a name for the selected range. (How you create a named range has been covered in other issues of ExcelTips.) For example, you might name the range something like StateCodes. This naming, while not strictly necessary, makes using the lookup formula easier.

Assuming that the phone number is in cell A1 and that you would like the state name returned in the column next to the phone number, in cell B1 you would enter:

=VLOOKUP(VALUE(LEFT(A1,3)),StateCodes,2,FALSE)

The VALUE and LEFT functions are used to pull just the first three characters from the phone number. This is then used in the VLOOKUP formula to find the area code in the StateCodes table. Excel returns the name of the state that corresponds with the area code.

Another way that you can pull out the area code (which is essential for the lookup) is to use the FLOOR function, as shown here:

=VLOOKUP(FLOOR(A1/10000000,1),StateCodes,2,FALSE)

Note that this approach requires that the phone number be stored as a number, so it can be divided by 10,000,000.

The approaches discussed here work great, provided that your phone numbers are always in the specified format (3035551212). If your phone numbers have a different format—perhaps one that uses parentheses and dashes—then the formula won't work and will need to be adjusted to look at where the area code really is in the phone number. If you have phone numbers that are not in a single format, then all bets are off and the task of doing the lookup becomes much, much harder.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (8065) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Office 365. You can find a version of this tip for the older menu interface of Excel here: Determining a State from an Area Code.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Putting a Different Date in a Header

Today's date is easy to add to a header, but what if you want to add a date that is adjusted in some manner? Adding ...

Discover More

Quickly Transposing Cells

If you want to turn a range of cells by 90 degrees within a worksheet, you need to understand how Excel can handle the ...

Discover More

Ignore Setting on Misspelled Words not Persistent

When Word flags a word as misspelled, you have some options of how to handle it. This tip explains those options and ...

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (ribbon)

Adding Dashes between Letters

When processing some text data, you may need to perform some esoteric function, such as adding dashes between letters. ...

Discover More

Returning the Smallest Non-Zero Value

In a series of values you may need to know the smallest value that isn't a zero. There is no built-in function to do ...

Discover More

Listing Combinations

You can easily use the COMBIN worksheet function to determine the number of combinations that can be made from a given ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is eight more than 3?

2018-02-19 05:44:20

David Robinson

In the UK we have area codes that have a differing number of digits, most have 4 or 5 digits, but there are a handful with 3 or 6 digits too. In this situation I would start by looking up the leftmost 3 digits, and use error trapping to then look for 4 digits, then 5, then 6. I favour INDEX/MATCH over VLOOKUP, so my syntax would go... (and I hope my indenting shows correctly!) ...

=INDEX($E:$E, IFERROR(MATCH(LEFT(A2,3),$D:$D,0),
IFERROR(MATCH(LEFT(A2,4),$D:$D,0),
IFERROR(MATCH(LEFT(A2,5),$D:$D,0),
MATCH(LEFT(A2,6),$D:$D,0)))))

... where my area codes are in column D and the area names in column e, and A2 has the phone number I'm processing.

In Britain we use 0 as our initial dialing digit, e.g. Leeds is 0113, so I'd have to consider the possibility of Excel stripping out that first zero if it's entered as a number. I would mitigate this by formatting columns as text. I would also use a helper column to add the initial zero if it's stored as a numeric, i.e.

=IF(ISNUMBER(A2),"0"&TEXT(A2,"#"),A2)


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.