Excel─;电话#格式问题

Excel─;电话#格式问题,excel,format,Excel,Format,知道电话号码的字符长度不同,如何将其转换为电话号码?例如: 我有 49123456789 4912345678912 491234567891234 我希望他们是 +49 12 345 67 89 +4912345 678912 +49 12 345 67 891234 换句话说,我只想格式化数字的开头,因为每个电话号码都有自己的分机,分机可以有不同的长度。。。(我希望这可以通过简单的格式代码而不是复杂的VBA来解决) 在此方面的任何帮助都将不胜感激! 谢谢 *具体来说,我只想格式化前9

知道电话号码的字符长度不同,如何将其转换为电话号码?例如:

我有

  • 49123456789
  • 4912345678912
  • 491234567891234
我希望他们是

  • +49 12 345 67 89
  • +4912345 678912
  • +49 12 345 67 891234
换句话说,我只想格式化数字的开头,因为每个电话号码都有自己的分机,分机可以有不同的长度。。。(我希望这可以通过简单的格式代码而不是复杂的VBA来解决)

在此方面的任何帮助都将不胜感激! 谢谢


*具体来说,我只想格式化前9个数字,剩下的数字(如果有)只需添加到旁边。

如果您的数字在
A1
中,这是怎么回事

=“+”&左(A1,2)&“&中(A1,3,2)&”&中(A1,5,3)&“&中(A1,8,2)&”&中(A1,10,LEN(A1)-9)

它适用于您的示例,但显然比优雅更“暴力”,但如果它不适用于所有数字,请告诉我


编辑:如果您想要一个更紧凑/漂亮的公式,请使用下面的@pnuts建议。

使用以下公式,F1是您的初始数字:

=IF(LEN(F1)>9,TEXT(LEFT(F1,9),"+## ## ### ##")&" "&MID(F1,10,LEN(F1)-9),TEXT(F1,"+## ## ### ##"))  
如果大于9,则公式将测试数字的长度。函数文本将以“+###########”格式转换前9位数字,其余为正常值“&rest
如果=9,格式为“+###########”

您的数字是否少于9个?我没有这个列表,为什么?不,每个数字我都有9到13位数谢谢你的输入@yass:)你试过了吗?