2009-10-07 12 views
60

Tengo un valor en una celda que está en bytes. Pero nadie puede leer 728398112238. prefiero que diga 678.37GB¿Cómo puedo formatear los bytes de una celda en Excel como KB, MB, GB, etc.?

Para escribir una fórmula para dar formato que sea relativamente fácil (aquí está uno: http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html)

pero ¿hay alguna manera de hacer esto como un 'formato' ? Me gustaría tener el gran número en la celda, pero que se muestre como el formato legible por humanos.

+1

Nota rápida en todo caso usted está interesado en este tipo de cosas: " kB "es estándar (minúscula 'k', no mayúscula). Fuentes: http://en.wikipedia.org/wiki/Kilobyte http://en.wikipedia.org/wiki/Kilo- Si no está t interesado, por favor ignore mi publicación :) – PonyEars

+0

El enlace en esta publicación está muerto. Aquí hay otro enlace a una solución que utiliza una fórmula: https://social.technet.microsoft.com/Forums/en-US/1063a039-f26b-4bfe-a9eb-2704ae0575dc/format-for-kbmbgbtb?forum=excel – Joost

Respuesta

65

Usted Realmente no puedo hacer cálculos en las características de formato de Excel. Se puede utilizar algo como lo siguiente para hacer una estimación aproximada embargo:

[<500000]#,##0" B ";[<500000000]#,##0,," MB";#,##0,,," GB" 

Actualización: nuevo enlace como otra parece haber quedado obsoletos (aunque yo era capaz de hacer clic en él todavía) http://excel-answers.com/microsoft/Excel/34882622/using-comma-to-scale-large-numbers.aspx

+1

Wow ... has confirmado mi sospecha de que no puedo hacer cálculos ... ¡pero tu solución es genial! Lo usaré o algo parecido. ¡Gracias! – RickMeasham

+3

Para configuraciones regionales con '' como mil separador y ',' como separador de coma: [<500000] # ### 0 "B"; [<500000000] # ## 0 "MB"; # ## 0 "GB " – Grastveit

+2

El sitio web eggheadcafe dice" La página que solicitó se eliminó ". – RyPeck

3

No sé de una manera de hacer que le muestre gigabytes binarios (múltiplos de 1024 * 1024 * 1024), pero se puede hacer que se muestre usted gigabytes decimales usando un formato como:

0.00,,,"Gb" 
37

Aquí es uno que he estado usando: -

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

Parece que funciona bien.

+2

no perfecto (múltiplos de 1000 vs 1024), pero lo suficientemente bueno y votado en alza. ¡Gracias! –

+1

Kevin: kB/MB/GB es realmente correcto con múltiplos de 1000 solamente (como lo define SI, utilizado por Mac y discos duros). Supongo que esto no cambia si quieres 1024 (más correctamente escrito KiB/MiB/GiB, como se usa en las GUI de Linux), así que solo señalo que es Windows el que mantiene esta notación histórica y confusa. La notación binaria fue estandarizada el siglo pasado, por lo que es hora de que se lleven el programa. ;-) –

+0

O si desea bytes, KB y MB en lugar de KB, MB, GB: '[<1000] #" B "; [<1000000] 0.00," KB "; 0.00 ,," MB "' –

6

Ligero cambio para hacer que funcione en mi región, Europa (como separador de miles, coma como separador decimal.): (1000 = 1024)

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

Aún así mismo problema en la conversión de datos, pero hace el trabajo para mí

0

Después de ver las respuestas aquí solo mejoró en esta fórmula para tener decimales en valores más grandes y atender a los valores negativos.

=IF(A1<999500000000,TEXT(A1,"#,##.#0,,,"" TB"""), 
IF(A1<-9995000000,TEXT(A1,"#,##.#0,,,"" GB"""), 
IF(A1<-9995000,TEXT(A1,"#,##0,,"" MB"""), 
IF(A1<-9995,TEXT(A1,"#,##0,"" KB"""), 
IF(A1<-1000,TEXT(A1,"#,##0"" B """), 
IF(A1<0,TEXT(A1,"#,##0"" B """), 
IF(A1<1000,TEXT(A1,"#,##0"" B """), 
IF(A1<999500,TEXT(A1,"#,##0,"" KB"""), 
IF(A1<999500000,TEXT(A1,"#,##0,,"" MB"""), 
IF(A1<999500000000,TEXT(A1,"#,##.#0,,,"" GB"""), 
TEXT(A1,"#,##.#0,,,,"" TB"""))))))))))) 
+1

La pregunta original incluía detalles sobre el uso de una fórmula. Pero se trata de usar un formato numérico. Su solución es muy similar a la vinculada, excepto que maneja números negativos. En lugar de incluirlos en declaraciones IF independientes, use ABS() para obtener el valor absoluto. – RickMeasham

7

aunque las condiciones de formato de Excel sólo muestra 1 de 3 condiciones relacionadas con el tamaño del número (que codificarlo como "positivo; negativo, cero; texto" pero prefiero verlo como: si ISNUMBER y true; elseif isnumber y false; elseif number; elseif es el texto)

por lo que para mí la mejor respuesta es David's y el comentario de Grastveit para otro formato regional.

Estos son los que uso dependiendo de los informes que hago.

[<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" 

Haga su elección!

2

Menos de Tera va a escribir en GB & más de 999 GB escribir en TB

[< 1000] 0" GB "; [> 999] 0.0," TB"

O

[< 1000] 0 "GB"; [> = 1000] 0.0, "TB"

1

Por encima de fórmula requiere un signo menos en la primera línea: '= SI (A1 < -999,500,000,000'

=IF(A1<-999500000000,TEXT(A1,"#,##.#0,,,"" TB"""), 
IF(A1<-9995000000,TEXT(A1,"#,##.#0,,,"" GB"""), 
IF(A1<-9995000,TEXT(A1,"#,##0,,"" MB"""), 
IF(A1<-9995,TEXT(A1,"#,##0,"" KB"""), 
IF(A1<-1000,TEXT(A1,"#,##0"" B """), 
IF(A1<0,TEXT(A1,"#,##0"" B """), 
IF(A1<1000,TEXT(A1,"#,##0"" B """), 
IF(A1<999500,TEXT(A1,"#,##0,"" KB"""), 
IF(A1<999500000,TEXT(A1,"#,##0,,"" MB"""), 
IF(A1<999500000000,TEXT(A1,"#,##.#0,,,"" GB"""), 
TEXT(A1,"#,##.#0,,,,"" TB"""))))))))))) 
Cuestiones relacionadas