Excel中的自定义格式数字

Excel中的自定义格式数字,excel,Excel,我必须在excel中输入300多个帐号。每个数字都有18位。我给你举个例子 200-0000000000 123-45 所以,前三个数字永远不会是000,有时第四到第十六个数字都不同,有时它们的前导零在最后的例子中有1到7个不同的数字,有时第四到第十六个数字是0000000000 123或0000000000 345,这里我只需输入3,我想让excel加上零,有时是3123125,在这种情况下,我必须输入全部18位数字。最后两项是强制性的 那么,如何在“格式单元格”对话框中设置excel自定义格

我必须在excel中输入300多个帐号。每个数字都有18位。我给你举个例子

200-0000000000 123-45

所以,前三个数字永远不会是000,有时第四到第十六个数字都不同,有时它们的前导零在最后的例子中有1到7个不同的数字,有时第四到第十六个数字是0000000000 123或0000000000 345,这里我只需输入3,我想让excel加上零,有时是3123125,在这种情况下,我必须输入全部18位数字。最后两项是强制性的

那么,如何在“格式单元格”对话框中设置excel自定义格式以显示所需内容?我试着把这样的东西放进去: 但我不知道如何保持开头的这3个数字。。。有什么帮助吗?是否有可能告诉Excel将前三位数字保留在左边,并在中间添加一些零?


谢谢。

您可以使用公式而不是自定义格式。在cel B1中放入类似的内容:

=LEFT(A1,4)&REPT("0",13-LEN(MID(A1,5,LEN(A1)-7)))&RIGHT(A1,LEN(A1)-4)
单元格A1中的值为200-123-45,则单元格b1中的值为200-0000000000 123-45。
前三位、后两位和两个连字符是必需的

在此要求中,自定义数字格式不可行 您可以使用公式与单元格链接

=IF(LEN(B5)>10,B5,LEFT(B5,4)&REPT("0",10)&RIGHT(B5,6))

您可能需要在VBA中使用工作表更改事件。能否在一列中输入前三个,在第二列中输入其余的,并在第三列中将它们作为字符串连接在一起?是否始终以三个连字符分组的形式输入它们,如图中A1所示?如果没有,请修改你的问题,为你想做的事情提供一个更有用的规范。这只在两个连字符之间正好有三位数字时有效。我建议的公式在连字符之间以0到13位的形式工作。