好的,我的情况是这样的。我有一个 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.”等转换为单个字符串)
由于您的描述相当宽泛,并且输入数据的组织听起来相当混乱,因此很难提供更多帮助。