罗恩的工作表中有一列电话号码。有些是7位数的数字,例如123-4567,假定为727区号。

其他的则包含区号,如(890)123-4567。罗恩希望每个电话号码都采用后一种格式,并想知道检测短电话号码并将缺失的电话号码(727)添加到这些号码的最佳方法。

解决此问题的最佳方法将取决于数据的性质。您会看到,数据可能是文本或数字。这是可能的,因为Excel提供了一种特殊的单元格格式,该格式允许将8015551212之类的数字显示为(801)555-1212。您可以通过比较单元格中显示的内容和公式栏中显示的内容来判断数据是数字还是文本。 (请参见图1。)

image

图1.确定电话号码是文本还是数字。

如果您的数据恰好是数字,则可以使用以下公式轻松添加适当的区号:

=IF(A1<=9999999,7270000000+A1, A1)

结果将添加正确的区号,但是您仍然需要使用特殊的“电话号码”格式来格式化包含此公式的单元格。

如果数据是文本数据,则可以简单地使用公式检查单元格的长度,然后根据需要添加区号:

=IF(LEN(A1) = 8, "(727) " & A1, A1)

因此,如果电话号码是555-1212(长8个字符),则此公式将返回(727)555-1212。当然,电话号码周围可能有一些多余的空格;如果将电话​​号码从其他来源粘贴到工作表中,通常会发生这种情况。在这种情况下,只需在公式中包含TRIM函数:

=IF(LEN(TRIM(A1)) = 8, "(727) " & TRIM(A1), TRIM(A1))

您可能会发现还有另一个公式对于添加区号非常有用,并且比我们到目前为止看到的要短:

=RIGHT("(727) " & TRIM(A1), 14)

此公式将区号添加到所有单元格,然后仅使用结果中最右边的14个字符。

如果您的数据中包含一些数字电话号码和文本电话号码,则事情会变得有些棘手。在这种情况下,您仍然可以将公式汇总在一起,但是会变得更长:

=IF(LEN(TRIM(A1)) > 9, TRIM(A1), IF(LEN(TRIM(A1)) = 8, "(724) " & TRIM(A1), IF(LEN(TRIM(A1)) = 7, 7240000000+A1, "Undetermined")))

请记住,这是一个公式。它确定单元格A1中任何内容的长度。如果长度超过9个字符,则假定电话号码正确。如果长度恰好是8,则公式将假定它是电话号码的“短文本”版本,例如555-1212,并将区号添加到开头。如果长度恰好是7,则假定它是“短数字”电话号码,并向其添加了正确的号码。如果电话号码不是其中的任何一个,则该公式将返回文本“ Undetermined”。使用此公式后,您仍然需要使用特殊的“电话号码”格式来格式化结果单元格。

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

本提示(13564)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。