如何在 SHEETS(或 EXCEL)中格式化 20 位数字

How to format a 20 digits numbers in GSHEETS (or EXCEL)

我正在使用 GSHEETS
我正在尝试使用格式编号来自定义 a 的显示 20位数字,例子:
在单元格中输入:12345678901234567890
所需的单元格格式:12 345678 9012345678 90

我试过这个:00_000000_0000000000_00
但它显示 12 345678 9012345000 00

我试过这个:00"-"000000"-"00000000"-"00
但它显示:1234-567890-12345000-00

似乎只能格式化 15 个数字。是这样还是我弄错了?

使用两个单元格。

在单元格 A1 中输入完整的 20 个字符的数字字符串,在 B1 中输入:

=LEFT(A1,2) & " " & MID(A1,3,6) & " " & MID(A1,9,10) & " " & RIGHT(A1,2)

这对于 20 个字符的字母字符串同样适用。

以下是 Google 仅限表格的解决方案。

如果单元格中有一个 20 位数字并且它实际上是一个字符串,那么这将根据您的需要对其进行格式化(它仍然是一个字符串):

=REGEXREPLACE(A1, "^(\d{2})(\d{6})(\d{10})(\d{2})$", "   ")

更新。还有一些其他的。

不仅是数字,任何字符串都将被格式化为空格:

=REGEXREPLACE(B2, "^(.{2})(.{6})(.{10})(.{2})$", "   ")

这个可以让你在一处更改分隔符:

=JOIN(" ", REGEXEXTRACT(B4, "^(\d{2})(\d{6})(\d{10})(\d{2})$"))

还有一个傻瓜:

=REGEXREPLACE(B3, "^(..)(......)(..........)(..)$", "   ")

当您处理字符串值时,可能:

=TEXTJOIN(" ",1,MID(A1,{1,3,9,19},{2,6,10,2}))

甚至:

=CONCAT(MID(A1,{1;3;9;19},{2;6;10;2})&" ")

我相信 Google-Sheets 你需要 CONCATENATE

我的两分钱:

=REPLACE(REPLACE(REPLACE(A1,19,0," "),9,0," "),3,0," ")