史蒂夫在A列中有电话号码,例如3035551212,并且希望能够查看前三位数字(区号)并在B列中返回与该区号关联的状态。他想知道实现此目标的最佳方法。

Excel具有许多使您在尝试操作数据时更轻松的功能。在这种情况下,使用VLOOKUP函数将区号与相应状态进行匹配很简单。

在应用函数检索所需的信息之前,需要创建一个简单的数据表,其中包含要检索的数据。在此表中,您需要在工作表中并排的区域代码和状态并排放置在各自的列中,并按区域代码排序。例如,您可以将区号放在F列中,并将这些区号的状态放在G列中。可以在许多网站上找到区号和状态,也可以根据需要创建自己的表。

将数据放入两列后,选择这些列并为所选范围创建一个名称。 (_ExcelTips的其他问题已经讨论了如何创建命名范围。)例如,您可以使用诸如StateCodes之类的名称来命名该范围。这种命名虽然不是绝对必要的,但使使用查找公式更加容易。

假设电话号码在单元格A1中,并且您希望返回电话号码旁边栏中的州名,则在单元格B1中,您将输入:

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

VALUE和LEFT函数用于仅从电话号码中提取前三个字符。然后在VLOOKUP公式中使用它在StateCodes表中查找区号。 Excel返回与区号对应的州名称。

您可以提取区号(对查找至关重要)的另一种方法是使用FLOOR函数,如下所示:

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

请注意,此方法要求将电话号码存储为数字,因此可以将其除以10,000,000。

如果您的电话号码始终采用指定的格式(3035551212),则此处讨论的方法非常有用。如果您的电话号码格式不同(也许使用括号和破折号),则该公式将不起作用,需要进行调整以查看区号在电话号码中的实际位置。如果您的电话号码不是单一格式,那么所有选择都将关闭,并且查找任务变得非常困难。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(8065)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: