Wie kann ich Bytes einer Zelle in Excel als KB, MB, GB usw. formatieren?

84

Ich habe einen Wert in einer Zelle, der in Bytes angegeben ist. Aber niemand kann 728398112238 lesen. Ich würde lieber 678,37 GB sagen

Eine Formel schreiben, um sie relativ einfach zu formatieren (hier eine: http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html )

Aber gibt es eine Möglichkeit, dies als "Format" zu tun? Ich möchte die große Zahl in der Zelle haben, sie aber als lesbares Format anzeigen lassen.

RickMeasham
quelle
3
Kurzer Hinweis, wenn Sie überhaupt an solchen Dingen interessiert sind: "kB" ist Standard (Kleinbuchstaben 'k', nicht Großbuchstaben). Quellen: en.wikipedia.org/wiki/Kilobyte en.wikipedia.org/wiki/Kilo- Wenn Sie nicht interessiert sind, ignorieren Sie bitte meinen Beitrag :)
PonyEars
Der Link in diesem Beitrag ist tot. Hier ist ein weiterer Link zu einer Lösung mit einer Formel: social.technet.microsoft.com/Forums/en-US/…
Joost

Antworten:

97

In den Formatierungsfunktionen von Excel können Sie keine Berechnungen durchführen. Sie können jedoch Folgendes verwenden, um eine grobe Schätzung vorzunehmen:

[<500000]#,##0" B";[<500000000]#,##0,," MB";#,##0,,," GB"
Gitarrenwerfer
quelle
1
Wow ... Sie haben meinen Verdacht bestätigt, dass ich keine Berechnungen durchführen kann ... aber Ihre Lösung ist genial! Ich werde das oder etwas in der Nähe verwenden. Vielen Dank!
RickMeasham
6
Für regionale Einstellungen mit '' als Tausendertrennzeichen und '' als Komma-Trennzeichen: [<500000] # ## 0 "B"; [<500000000] # ## 0 "MB"; # ## 0 "GB"
Grastveit
1
Es tut mir leid, aber dieser Code ist falsch! Durch Teilen durch "5" oder 500000 wird der Wert in einen völlig anderen Wert umgewandelt. Ich habe den Wert "569692" verwendet und dieser Code gab mir "1 MB"
Alper t. Turker
53

Hier ist eine, die ich verwendet habe: -

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

Scheint gut zu funktionieren.

David Thornley
quelle
2
nicht perfekt (Vielfache von 1000 gegen 1024), aber gut genug und positiv bewertet. Vielen Dank!
Skwerl
2
Kevin: kB / MB / GB ist wirklich richtig, nur mit einem Vielfachen von 1000 (wie von SI definiert, von Mac und Festplatten verwendet). Ich denke, das ändert nichts daran, dass Sie 1024 wollen (korrekter geschriebenes KiB / MiB / GiB, wie es in Linux-GUIs verwendet wird), und nur darauf hinweisen, dass es Windows ist, das diese historische und verwirrende Notation beibehält. Die binäre Notation wurde im letzten Jahrhundert standardisiert, daher ist es höchste Zeit, dass sie mit dem Programm arbeiten. ;-)
Luke Usherwood
1
Oder wenn Sie Bytes, KB und MB anstelle von KB, MB, GB möchten:[<1000]#" B";[<1000000]0.00," KB";0.00,," MB"
Aaron Campbell
12

Obwohl die Bedingungen im Excel-Format nur 1 von 3 Bedingungen anzeigen , die sich auf die Zahlengröße beziehen (sie codieren sie als "positiv; negativ; null; Text", aber ich sehe es lieber als: wenn isnumber und true; elseif isnumber und false; elseif number; elseif ist Text )

Für mich ist die beste Antwort Davids sowie Grastveits Kommentar für ein anderes regionales Format.

Hier sind die, die ich abhängig von meinen Berichten verwende.

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

Treffen Sie Ihre Wahl!

Sebastien Simard
quelle
12

Der obige Formatierungsansatz funktioniert jedoch nur für drei Ebenen. Die oben verwendeten verwendeten KB, MB und GB. Hier habe ich es auf sechs erweitert. Klicken Sie mit der rechten Maustaste auf die Zelle (n) und wählen Sie Zellen formatieren. Wählen Sie auf der Registerkarte Nummer die Option Benutzerdefiniert aus. Geben Sie dann in das Feld Typ: Folgendes ein:

[<1000]##0.00"  B";[<1000000]##0.00," KB";##0.00,," MB"

Wählen Sie dann OK. Dies umfasst B, KB und MB. Klicken Sie dann bei ausgewählten Zellen auf Startleiste, Bedingte Formatierung, Neue Regel. Wählen Sie Nur Zellen formatieren, die enthalten. Klicken Sie dann unten in der Regelbeschreibung auf Nur Zellen mit einem Zellenwert formatieren, der größer oder gleich 1000000000 ist (das sind 9 Nullen). Klicken Sie dann auf Format, Registerkarte Nummer, Benutzerdefiniert und geben Sie im Feld Typ: Folgendes ein:

[<1000000000000]##0.00,,," GB";[<1000000000000000]##0.00,,,," TB";#,##0.00,,,,," PB"

Wählen Sie OK und OK. Diese bedingte Formatierung wird nur übernommen, wenn der Wert größer als 1.000.000.000 ist. Und es wird sich um die GB-, TB- und PB-Bereiche kümmern.

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

Alles, was größer als PB ist, wird nur als größeres PB angezeigt, z. B. 56.700 PB. Sie können eine weitere bedingte Formatierung hinzufügen, um noch größere Werte, EB usw., zu verarbeiten.

Yrag00
quelle
1
Ein kleiner Hinweis: Wenn Sie in einer Installation ein Gebietsschema haben, das andere Trennzeichen vorschreibt, ersetzen Sie die Trennzeichen in den obigen Zeichenfolgen durch die richtigen. In meiner Sprache und. werden getauscht, so dass ich verwenden musste: [<1000] ## 0,00 "B"; [<1000000] ## 0,00. "KB"; ## 0,00 .. "MB" und [<1000000000000] ## 0,00 ... "GB"; [<1000000000000000] ## 0,00 .... "TB"; #.
##
10

Leichte Änderung, damit es in meiner Region Europa funktioniert (als Tausendertrennzeichen, Komma als Dezimaltrennzeichen):

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

Immer noch das gleiche Problem bei der Datenkonvertierung (1000! = 1024), aber es macht den Job für mich.

Bruno
quelle
4

Ich weiß nicht, wie ich Ihnen binäre Gigabyte (Vielfache von 1024 * 1024 * 1024) anzeigen kann, aber Sie können dezimale Gigabyte in einem Format wie dem folgenden anzeigen:

0.00,,,"Gb"
Andru Luvisi
quelle
2
Beachten Sie, dass b Bit und B Byte ist. Ein Bit ist 1/8 eines Bytes. Um Verwirrung zu vermeiden, stellen Sie immer sicher, dass Sie den richtigen Buchstaben verwenden. Gleiches gilt für Präfixe wie M für Mega (1000000 ×) und m für Milli (1/1000).
Liggliluff
Ich mag die Einfachheit. Auch wenn es sich nicht um ein Vielfaches von 1.024 handelt, ist diese Antwort nützlich.
Satoc
3

Die obige Formel erfordert ein Minuszeichen in der ersten Zeile: "= IF (A1 <-999500000000"

=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""")))))))))))
Swhgraham
quelle
3

Eine weitere Lösung ist die Verwendung der technischen Notation. (Das ist wie eine wissenschaftliche Notation, außer dass der Exponent immer ein Vielfaches von 3 ist.) Klicken Sie mit der rechten Maustaste auf die Zelle (n) und wählen Sie Zellen formatieren. Wählen Sie auf der Registerkarte Nummer die Option Benutzerdefiniert aus. Geben Sie dann in das Feld Typ: Folgendes ein:

##0.00E+00

Klicken Sie dann auf OK. Anstelle von K, M usw. haben Sie +3, +6 usw. Dies funktioniert für positive und negative Zahlen sowie positive und negative Exponenten, -3 ist m, -6 ist u usw.

567.00E-06
  5.67E-03
 56.70E-03
567.00E-03
  5.67E+00
 56.70E+00
567.00E+00
  5.67E+03
 56.70E+03
567.00E+03
  5.67E+06
Yrag00
quelle
1

Weniger als Tera schreibt auf GB und mehr als 999 GB schreiben auf TB

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

ODER

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

Mored1984
quelle
1

Ich verwende CDH-Hadoop und beim Exportieren von Excel-Berichten habe ich zwei Probleme.

1) Konvertieren Sie das Linux-Datum in ein Excel-Datum. Fügen
Sie dazu eine leere Spalte neben der Datumsspalte hinzu, sagen wir, die oberste Zeile ist B4, fügen Sie die folgende Formel ein und ziehen Sie das SCHWARZE "+" bis zum letzten Tag am Ende des Datums Säule. Blenden Sie dann die ursprüngliche Spalte aus

=(((B4/1000/60)/60)/24)+DATE(1970|1|1)+(-5/24)

2) Konvertieren Sie die Festplattengröße von Byte in TB, GB und MB.
Die beste Formel dafür ist diese

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

Sie erhalten Werte mit 3 Dezimalstellen. Formatieren Sie einfach die Zellen -> Benutzerdefiniert und fügen Sie den obigen Code dort ein

Alper t. Turker
quelle
1

Es ist ein bisschen eine "Brute Force", funktioniert aber;)

=IF(E4/1000<1;CONCATENATE(E4;" bps");IF(E4/1000<1000;CONCATENATE(ROUND(E4/1000;2);" kbps");IF(E4/1000000<1000;CONCATENATE(ROUND(E4/1000000;2);" mbps");IF(E4/1000000000<1000;CONCATENATE(ROUND(E4/1000000000;2);" gbps")))))

Geben Sie hier die Bildbeschreibung ein

Saulo MB - PINPOINT
quelle
Hallo, willkommen bei Stack Overflow. Wenn Sie eine Frage beantworten, die bereits viele Antworten enthält, geben Sie bitte einen zusätzlichen Einblick, warum die von Ihnen bereitgestellte Antwort inhaltlich ist und nicht nur das wiedergibt, was bereits vom Originalplakat überprüft wurde. Dies ist besonders wichtig bei "Nur-Code" -Antworten wie der von Ihnen angegebenen.
chb
1

Alle Antworten hier liefern Werte mit Potenzen von 10. Hier ist ein Format unter Verwendung geeigneter SI-Einheiten (Vielfache von 1024, dh Mebibytes, Gibibytes und Tebibytes):

[>1099511627776]#.##,,,," TiB";[>1073741824]#.##,,," GiB";0.##,," MiB"

Dies unterstützt MiB, GiB und TiB mit zwei Dezimalstellen.

kap
quelle
0

Nachdem wir die Antworten hier gesehen haben, wurde diese Formel verbessert, um Dezimalstellen für größere Werte zu erhalten und negative Werte zu berücksichtigen.

=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""")))))))))))
Stapelüberlauf
quelle
1
Die ursprüngliche Frage enthielt Details zur Verwendung einer Formel. Aber es geht darum, ein Zahlenformat zu verwenden. Ihre Lösung ist der verknüpften sehr ähnlich, außer dass Sie mit negativen Zahlen arbeiten. Verwenden Sie ABS (), um den absoluten Wert zu erhalten, anstatt sie in separate IF-Anweisungen aufzunehmen.
RickMeasham
0

Ich vermute, dass viele der Antworten hier veraltet sind, da ich aus der gegebenen Antwort nicht das erwartete Ergebnis erhalten habe.

Wenn Sie einen Wert in KB haben, den Sie entsprechend der Größe formatieren möchten, können Sie Folgendes versuchen.


Formel

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


Anfangswert (in KB) => Ausgabe

952 => 952 KB

1514 => 1.51 MB

5122323 => 5.12 GB

Ivan Skodje
quelle
0

Für das genaue Ergebnis würde ich es lieber berechnen, aber das Anzeigeformat verwenden.

Angenommen, die A1-Zelle hat den Wert 29773945664927.

  1. Zählen Sie die Anzahl der Kommas in der Zelle B1.

    = QUOTIENT (LEN (A1) -1,3)

  2. Teilen Sie den Wert durch 1024 ^ B1 in der C1-Zelle.

    = A1 / 1024 ^ B1

  3. Anzeigeeinheit in D1-Zelle.

    = SCHALTER (B1, 5, "PB", 4, "TB", 3, "GB", 2, "MB", 1, "KB", 0, "B")

  4. B1-Zelle ausblenden.

Bildschirmfoto

towhereur
quelle
0

Fügen Sie dies neben Ihre Werte (Bytes) ein und dies ändert es automatisch auf Ihre Wertgröße.

=IF(G10>=1099511627776,CONCATENATE(ROUND((G10/1024/1024/1024/1024),1)," TB"),IF(G10>=1073741824,CONCATENATE(ROUND((G10/1024/1024/1024),1)," GB"),IF(G10>=1048576,CONCATENATE(ROUND((G10/1024/1024),1)," MB"),IF(G10>=1024,CONCATENATE(ROUND((G10/1024),1)," KB"),IF(G10>=1,CONCATENATE((G10)," BYTES"),0)))))

Farooq Zhrf
quelle