在 Excel 2016 中以多种方式格式化一列电话号码

在 Excel 2016 中以多种方式格式化一列电话号码

好的,我的情况是这样的。我有一个 Excel 电子表格,里面列出了我公司 CRM 中格式错误的电话号码。其中大部分是国内号码,美国号码带有 +1 国家代码,有些缺少加号,有些只有括号。有些是国际号码。有些有分机号。其中一些分机号是 ###-###-####x####,有些是 ###-###-#### ext: ####,等等。

我需要按照以下标准重新格式化这些数字 国内号码:所有号码都需要使用破折号格式化,不能使用括号:###-###-#### 所有分机号码都需要分隔到各自的列中。我可以在所有号码都正确格式化后尝试执行此操作。

国际号码需要格式化为以 + 开头的完整字符串,例如 +1234567890。编辑目前,国际号码通常较长,并且不以 1 或 +1 开头。

额外福利!表格中的一些列表有多个编号,以逗号分隔。

任何关于如何处理这个问题的建议都将不胜感激。我有点迷茫了。

答案1

一种方法(可能不是最好的)是先使用接下来的 3-4 列来清理数字。

在第一个新列中,您可以清理您的电话号码:

  • 您可以使用函数轻松识别是否有 + LEFT()
  • 对于美国号码,您可以删除 +1 或 1,SUBSTITUTE()也可以将“ ”转换为“-”。
  • 如果多个号码以“,”分隔,则可以将字符串限制为 1 个电话号码LEFT()MID()FIND()查找“,”作为分隔符FIND()
  • 类似地,使用IF(),FIND()LEFT()/ MID()/ RIGHT(),您可以删除任何扩展名。

在第二列中,您可以对可能列出的第二个电话号码执行相同操作。要定义从哪里开始,您可以使用类似的方法RIGHT(B2,len(B2)-FIND(",",B2)+1)(假设您的原始电话字符串在 B2 中),它只会返回“,”之后的内容。

对于扩展,您可以在原始字符串中FIND()使用“x”或“ext”(OR()如果需要,使用语句)来查看其起始位置,然后使用 RIGHT() 语句隔离它们(我假设它们始终位于末尾,否则,您可以提取“x”和“,”之间的字符串,假设使用后有另一个数字MID())。
(或者,您可以先使用 Excel 的查找和替换功能 [CTRL + H] 手动将所有“ext”、“Ext.”、“exten.”等转换为单个字符串)

由于您的描述相当宽泛,并且输入数据的组织听起来相当混乱,因此很难提供更多帮助。

相关内容