首页 > 解决方案 > EXCEL - 如何为澳大利亚电话号码创建自定义单元格格式:xxxx-xxx-xxx

问题描述

澳大利亚移动电话(手机)和固定电话号码都是以零开头的 10 位数字。

当我将电话号码输入格式为数字的 Excel 单元格时,它会丢弃前导零。例如0412555666变成412555666. 将单元格格式化为文本会保留前导零。

我希望用户能够输入电话号码,保持前导零不变,并将格式显示为例如“0412-555-666”

我尝试了自定义格式0####"-"###"-"###,但是如果单元格是文本格式会失败,如果我将其更改为数字,则从输入中删除前导 0。

PS 我知道我可以使用公式将另一个字段添加到电子表格中,=IF(LEN(A1)=10,CONCATENATE(MID(A1, 1, 4), "-", MID(A1, 5, 3), "-", MID(A1, 8, 3)), "Invalid Number")但我只想更改单元格的显示方式,而不是其内容。

标签: excelexcel-formulaformattingoffice365string-formatting

解决方案


只要您愿意输入 AU 10 位完整国家号码 (FNN) 中的至少 9 位,自定义号码格式就可以正确确定正确的陆地/手机号码格式。

选择要接收电话号码的列,然后点击 Ctrl+1。移至“数字”选项卡,然后从左侧列表中选择“自定义”。使用以下类型。

[>600000000]00 0000 0000;[>400000000]0000 000 000;00 0000 0000;[red]@

手机将采用 XXXX XXX XXX 格式,固定电话将采用 XX XXXX XXXX 格式,任何恶意文本输入将被涂成红色。

如果您使用 VBA 将这些发送到调制解调器或其他拨号器,请使用单元格 .Value 或 .Value2 属性。如果您需要报告或类似内容的格式化电话号码,请使用单元格 .Text 属性检索它。

在此处输入图像描述


推荐阅读