使用此自定义数字格式时,为什么万亿被格式化为十亿?
Why are Trillions formatted as Billions, when using this Custom Number Format?
我对十亿级的数字使用自定义数字格式,效果如预期:
[<1000000]#,##0.0," K"; [<1000000000]#,##0.0,," M"; #,##0.0,,," B"
现在我需要处理数万亿级的更大数字,所以我尝试了:
[<1000000000]#,##0.0," M"; [<1000000000000]#,##0.0,," B"; #,##0.0,,," T"
但是,这失败了 - 它显示一万亿 (1,000,000,000,000,000) 作为 1,000,000.0 T,实际上格式为十亿,而不是万亿。
我已经检查了解决方案,例如 并进行了谷歌搜索,但我不明白为什么这种格式不起作用。 请注意,建议的 SO(链接)格式不起作用。
只是想避免缓慢的自定义函数等,所以如果有人有建议,我们将非常欢迎。
文档摘录:
number format documentation 关于 ,
令牌的说法:
If it appears between two digit characters (0, # or ?), then it renders the entire number with grouping separators (grouping by the thousands).
所以,=TEXT(1000, "0,0")
将 1000
渲染为 1,000
(它只是每 3 个数字添加一个 ,
)
If it follows the digit characters, it scales the digits by one thousand per comma (e.g., the format #0.0,, renders the number 12,200,000 as 12.2).
因此,=TEXT(1000, "0,")
会将 1000
渲染为 1
。
问题:
[<1,000,000,000]#,##0.0," M";
[<1,000,000,000,000]#,##0.0,," B";
#,##0.0,,," T"
只有一个 ,
用于 " M"
(少于 10 亿)格式。所以,这个数字只按 1000 缩放,而不是 1000^2。
解决方案:
再添加一个,
Number
Fixed
Original
Formatting:
[<1000000000]#,##0.0,," M"; [<1000000000000]#,##0.0,,," B"; #,##0.0,,,," T
[<1000000000]#,##0.0," M"; [<1000000000000]#,##0.0,," B"; #,##0.0,,," T"
10
0.0 M
0.0 M
100
0.0 M
0.1 M
1000
0.0 M
1.0 M
10000
0.0 M
10.0 M
100000
0.1 M
100.0 M
1000000
1.0 M
1,000.0 M
10000000
10.0 M
10,000.0 M
100000000
100.0 M
100,000.0 M
1000000000
1.0 B
1,000.0 B
10000000000
10.0 B
10,000.0 B
100000000000
100.0 B
100,000.0 B
1000000000000
1.0 T
1,000.0 T
10000000000000
10.0 T
10,000.0 T
100000000000000
100.0 T
100,000.0 T
1000000000000000
1,000.0 T
1,000,000.0 T
10000000000000000
10,000.0 T
10,000,000.0 T
我对十亿级的数字使用自定义数字格式,效果如预期:
[<1000000]#,##0.0," K"; [<1000000000]#,##0.0,," M"; #,##0.0,,," B"
现在我需要处理数万亿级的更大数字,所以我尝试了:
[<1000000000]#,##0.0," M"; [<1000000000000]#,##0.0,," B"; #,##0.0,,," T"
但是,这失败了 - 它显示一万亿 (1,000,000,000,000,000) 作为 1,000,000.0 T,实际上格式为十亿,而不是万亿。
我已经检查了解决方案,例如
只是想避免缓慢的自定义函数等,所以如果有人有建议,我们将非常欢迎。
文档摘录:
number format documentation 关于 ,
令牌的说法:
If it appears between two digit characters (0, # or ?), then it renders the entire number with grouping separators (grouping by the thousands).
所以,=TEXT(1000, "0,0")
将 1000
渲染为 1,000
(它只是每 3 个数字添加一个 ,
)
If it follows the digit characters, it scales the digits by one thousand per comma (e.g., the format #0.0,, renders the number 12,200,000 as 12.2).
因此,=TEXT(1000, "0,")
会将 1000
渲染为 1
。
问题:
[<1,000,000,000]#,##0.0," M";
[<1,000,000,000,000]#,##0.0,," B";
#,##0.0,,," T"
只有一个 ,
用于 " M"
(少于 10 亿)格式。所以,这个数字只按 1000 缩放,而不是 1000^2。
解决方案:
再添加一个,
Number | Fixed | Original |
---|---|---|
Formatting: | [<1000000000]#,##0.0,," M"; [<1000000000000]#,##0.0,,," B"; #,##0.0,,,," T | [<1000000000]#,##0.0," M"; [<1000000000000]#,##0.0,," B"; #,##0.0,,," T" |
10 | 0.0 M | 0.0 M |
100 | 0.0 M | 0.1 M |
1000 | 0.0 M | 1.0 M |
10000 | 0.0 M | 10.0 M |
100000 | 0.1 M | 100.0 M |
1000000 | 1.0 M | 1,000.0 M |
10000000 | 10.0 M | 10,000.0 M |
100000000 | 100.0 M | 100,000.0 M |
1000000000 | 1.0 B | 1,000.0 B |
10000000000 | 10.0 B | 10,000.0 B |
100000000000 | 100.0 B | 100,000.0 B |
1000000000000 | 1.0 T | 1,000.0 T |
10000000000000 | 10.0 T | 10,000.0 T |
100000000000000 | 100.0 T | 100,000.0 T |
1000000000000000 | 1,000.0 T | 1,000,000.0 T |
10000000000000000 | 10,000.0 T | 10,000,000.0 T |