Excel-Formel: Größeneinheiten auf Gigabyte normalisieren -

Generische Formel

=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Zusammenfassung

Um Einheiten auf Gigabyte (oder Megabyte, Kilobyte usw.) zu normalisieren, können Sie eine clevere Formel verwenden, die auf den Funktionen MATCH, LEFT und RIGHT basiert. Im gezeigten Beispiel lautet die Formel in C5:

=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Hinweis: Der Einfachheit halber verwenden wir Dezimalwerte (Basis 10), es gibt jedoch auch einen Binärstandard. Siehe unten.

Erläuterung

Wichtig: Bei dieser Formel wird davon ausgegangen, dass Einheiten die letzten 2 Zeichen der Zeichenfolge sind, die sowohl eine Zahl als auch eine Maßeinheit enthalten.

Diese Formel funktioniert, weil digitale Einheiten eine Beziehung der Potenz von 10 haben.

Im Kern trennt diese Formel den Zahlenteil der Größe von der Einheit und teilt dann die Zahl durch den entsprechenden Teiler, um sie auf Gigabyte zu normalisieren. Der Divisor wird als Potenz von 10 berechnet, daher reduziert sich die Formel auf Folgendes:

=number/10^power

Um die Zahl zu erhalten, extrahiert die Formel alle Zeichen von links bis einschließlich der Einheiten, jedoch ohne diese:

LEFT(B5,LEN(B5)-2)

Um "Leistung" zu erhalten, stimmt die Formel mit der Einheit in einer fest codierten Array-Konstante überein:

MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)

Dies gibt die Position der Einheit in der Array-Konstante zurück. Für die Formel in C5 ist die Einheit beispielsweise "KB", die Position ist also 5. Dieses Ergebnis wird angepasst, indem 3 subtrahiert und dann das Ergebnis mit 3 multipliziert wird, was 6 als Potenz ergibt, die als Exponent verwendet wird So berechnen Sie das richtige Ergebnis in Gigabyte:

=900/10^6 =900/1000000 =0.0009

Binäre Standardformel

Computer verwenden das Binärzahlensystem zum Speichern und Berichten der Datengröße, aber die Präfixe wie "Kilo", "Mega", "Giga" usw. basieren auf dem metrischen System. Es ist ein verwirrendes Thema, aber die Verwendung von Einheiten mit Dezimalgröße für die Speicherung auf einem Computer ist nicht wirklich korrekt, und die Diskrepanz nimmt zu, wenn die Einheiten größer werden. Die folgende Formel wird auf binäre Einheiten normalisiert.

=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)

Mit dieser Formel erhalten Sie technisch gesehen Gibibytes (GiB), nicht Gigabytes. Weitere Informationen hier und hier.

Gute Links

Stackoverflow.com Antwort von Ron Rosenfeld

Interessante Beiträge...