如何将Excel中的单元格格式化为KB,MB,GB等?

Ric*_*ham 71 excel formatting

我在单元格中有一个以字节为单位的值.但是没有人可以阅读728398112238.我宁愿它说678.37GB

编写一个公式来格式化它相对容易(这里是一个:http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html)

但有没有办法做这个'格式'?我希望在单元格中有大数字,但它显示为人类可读的格式.

gui*_*wer 76

您无法在Excel的格式设置功能中进行实际计算.您可以使用以下内容进行粗略估计:

[<500000]#,##0" B ";[<500000000]#,##0,," MB";#,##0,,," GB"
Run Code Online (Sandbox Code Playgroud)

  • 对于带有''千分隔符'和'的区域设置,'作为逗号分隔符:[<500000] ### 0"B"; [<500000000] ### 0"MB"; ### 0"GB" (6认同)
  • 对不起,这段代码是错误的!除以“5”或 500000 会将值转换为完全不同的值。我使用了值“569692”,这段代码给了我“1 MB” (2认同)
  • 我的回答已经暗示了这一点。因为无法在格式中进行计算(即 500,000/1,000),所以我使用 500,000 和 500,000,000 作为中点来确定何时应四舍五入为 B、MB、GB。这是一种 hack,如果需要精度,则不应该使用。如果您需要更高的精度,还可以执行其他操作(通过宏自定义公式、单元格公式、命名范围等) (2认同)

Dav*_*ley 46

这是我一直在使用的: -

[<1000000]0.00," KB";[<1000000000]0.00,," MB";0.00,,," GB"
Run Code Online (Sandbox Code Playgroud)

似乎工作正常.

  • 不完美(1000比1024的倍数),但足够好和赞成.谢谢! (2认同)
  • Kevin:KB/MB/GB非常正确,只有1000的倍数(由SI定义,由Mac和硬盘驱动器使用).我想这并没有改变你想要1024(更正确地写入KiB/MiB/GiB,如在Linux GUI中使用)所以只是指出它是Windows维护这种历史性和令人困惑的符号.二进制符号在上个世纪是标准化的,因此他们很高兴参与该计划.;-) (2认同)

小智 11

虽然Excel格式条件只显示与数字大小相关的3个条件中的1个(它们将其编码为"正数;负数;零;文本"但我更喜欢将其视为:if isnumber和true; elseif isnumber和false; elseif number; elseif是文字)

所以对我来说,最好的答案是David's以及Grastveit对其他区域格式的评论.

以下是我根据我制作的报告使用的.

[<1000000]#,##0.00," KB";[<1000000000]#,##0.00,," MB";#,##0.00,,," GB"

[>999999999999]#,##0.00,,,," TB";[>999999999]#,##0.00,,," GB";#.##0.00,," MB"

[<1000000]# ##0,00 " KB";[<1000000000]# ##0,00  " MB";# ##0,00   " GB"

[>999999999999]# ##0,00    " TB";[>999999999]# ##0,00   " GB";# ##0,00  " MB"
Run Code Online (Sandbox Code Playgroud)

随便挑选!


Dav*_*mer 10

因为还没人写这个答案,所以我认为这对未来的线索查找者有好处。有一种简单的方法可以使用转换函数在 Excel 中进行位和字节的转换。

你只需要使用=CONVERT(Number or Cell, "fromDatatype", "toDatatype")

例如=CONVERT(5, "Gbyte", Mbyte")

您可以在“测量系统”->“信息”下找到有关此内容的文档 https://support.microsoft.com/en-us/office/convert-function-d785bef1-808e-4aac-bdcd-666c810f9af2

遗憾的是,没有关于M、Mi、G或 等前缀的图表Gi。但这很容易。只是公共前缀,然后分别是字节。

字首 短的 少量 字节
约塔 是 伊比特 字节
泽塔 Z 兹比特 中字节
埃克萨 乙 息税前利润 亿佰特
佩塔 磷 比特位 字节
泰拉 时间 特比特 太字节
千兆 G 吉比特 吉字节
兆 中号 兆比特 兆字节
公斤 k 千比特 千字节
赫克托 H 哈比特 兆字节
德卡 达 达比特 达字节
尤比 义 伊比特 亿佰特
泽比 子 兹比特 紫百特
埃克斯比 埃伊 息税前利润 爱字节
佩比 圆周率 皮比特 皮字节
特比 钛 蒂比特 蒂字节
吉比 吉 吉比特 吉字节
梅比 米 米比特 米字节
吉备 气 基比特 千字节


Yra*_*g00 8

上述格式化方法有效,但仅适用于三个级别。上面使用的KB,MB和GB。在这里,我将其扩展为六个。右键单击单元格,然后选择“设置单元格格式”。在数字选项卡下,选择自定义。然后在“类型:”框中,输入以下内容:

[<1000]##0.00"  B";[<1000000]##0.00," KB";##0.00,," MB"
Run Code Online (Sandbox Code Playgroud)

然后选择确定。这包括B,KB和MB。然后,在选择相同单元格的情况下,单击“首页”功能区,“条件格式”,“新规则”。选择仅格式化包含的单元格。然后在规则说明的下面,“仅格式化单元格值大于或等于1000000000(即9个零)的单元格”。然后单击“格式”,“数字”选项卡,“自定义”,然后在“类型:”框中,输入以下内容:

[<1000000000000]##0.00,,," GB";[<1000000000000000]##0.00,,,," TB";#,##0.00,,,,," PB"
Run Code Online (Sandbox Code Playgroud)

选择确定,然后确定。仅当值大于1,000,000,000时,此条件格式才会接管。并且它将处理GB,TB和PB范围。

567.00  B
  5.67 KB
 56.70 KB
567.00 KB
  5.67 MB
 56.70 MB
567.00 MB
  5.67 GB
 56.70 GB
567.00 GB
  5.67 TB
 56.70 TB
567.00 TB
  5.67 PB
 56.70 PB
Run Code Online (Sandbox Code Playgroud)

大于PB的任何内容都会显示为更大的PB,例如56,700 PB。您可以添加另一种条件格式来处理更大的值EB等。


小智 7

轻微更改,使其在我的地区,欧洲(.作为千位分隔符,逗号作为小数分隔符)工作:

[<1000000]#.##0,00" KB";[<1000000000]#.##0,00.." MB";#.##0,00..." GB"
Run Code Online (Sandbox Code Playgroud)

数据转换仍然存在同样的问题(1000!= 1024),但它确实适合我.


And*_*isi 6

我不知道有什么方法可以让它显示二进制千兆字节(1024x1024x1024 的倍数),但你可以使用如下格式让它显示十进制千兆字节:

0.00,,,"GB"
Run Code Online (Sandbox Code Playgroud)