0

我有一个具有各种布局(澳大利亚)的电话号码列表,我需要为它们创建一致性。我需要布局看起来像下面的例子。然后将数据导入回数据库,但不会针对每个数字公式将它们拆分为不同的单元格。

例如,我有 - 5382 1111、03 5382 1111、0417 111 111、1300 123 123、13 13 13、

我已经通过自定义格式单元格尝试了一些不同的公式,但它们无法正常工作,并且正在从其单元格中删除数字。

4

1 回答 1

1

您可以使用自定义数字格式来实现这一点。

对于以 0 开头的数字,还要注意在数据前加上撇号 ( ') 或将整列设为文本格式。

如果您展示了您的尝试,我们可以帮助解决问题。

一种方法

提示:要将固定电话和移动电话合并到同一规则中,请尝试有条件的自定义号码格式。有关更多详细信息,请参阅自定义数字格式以及如何使用它们

一个例子

您可以尝试使用此自定义数字格式字符串:

[<100000000]#### ####;[<400000000]0# #### ####;0### ### ###

这个例子的注释:

  • 它适用于您所在的本地固定电话和手机号码。
  • 它甚至会与来自该地区以外的客户合作,包括州际客户。
  • 不过,国际号码会很麻烦,需要采用不同的方法。
  • 如果您将它与任何以 + 号和国家代码开头的数字一起使用,它将不起作用并且需要不同的方法。

关于您的数据的假设

上面的例子假设:

  • 您的输入都不是文本,它们都是数字
  • 可以包含或省略前导零,它应该仍然有效
  • 您所有缩短的本地号码都是 8 位数字(以任何数字开头,例如 5)
  • 您所有的完整本地或州际号码都是 10 位数字(从 0 开始)
  • 您所有的手机号码都是 10 位数字(以 04 开头)

限制

上面的解决方案示例不能正确处理 1300 或 13 个数字:

  • 出现 13 个数字,例如 13 1313 而不是 131 313 或 13 13 13。这是可以接受的,还是您需要像 13 13 13 这样的数字?如果你这样做了,那些像 131 313 这样被引用的呢?(根据数字分组自动执行 13 13 13 或 131 313 将是另一个复杂的问题)。
  • 1300 个数字像 01300 000 000 这样出来。这并不理想,但唯一的问题是额外不必要的前导 0;格式的其余部分看起来正确。
  • 1800个号码呢,你也需要吗?

如果您将数字存储为文本,或以 + 和 IDD(国际国家/地区)代码开头的数字,您将需要不同的方法。

如果您有从后面以旧格式存储的数字,它们是从 8 开始的 6 位数字(例如 821 111),区号为 053(在它继承 03 代码并将 53 移动到数字开头之前),那么:

  • 您将需要不同的解决方案
  • 您的数据是本网站年龄的 3 倍以上
于 2021-04-13T06:07:22.367 回答