Wie formatiere ich eine Zelle in Microsoft Excel 2007 im Hexadezimalformat?

Wie formatiere ich eine Zelle in Microsoft Excel 2007 im Hexadezimalformat?

Ich möchte eine Zelle in Microsoft Excel 2007 hexadezimal formatieren, weiß aber nicht, wie das geht.

Gibt es eine integrierte Möglichkeit, die Basis für eine Zelle von 10 auf 16 zu ändern?

Antwort1

Wie bereits erwähnt, konvertiert die Formel =DEC2HEX(A1) in Hexadezimalzahlen und DEC2HEX(A1,8) in Hexadezimalzahlen mit dem Präfix 0, um 32 Bit anzuzeigen. Während das Hinzufügen der führenden Nullen die Zahlen lesbarer macht, insbesondere wenn Sie eine Schriftart mit Festkomma verwenden, können die Hexadezimal- und Dezimalversionen durcheinander geraten, wenn alle Ziffern in der Zahl zufällig 0-9 sind (z. B. 327701=50015).

Eine Verbesserung besteht darin, das Präfix „0x“ hinzuzufügen. Dies kann auf zwei Arten erfolgen. ="0x"&DEC2HEX(A1,8) funktioniert zwar, ändert das Feld jedoch in ein Textfeld, sodass es nicht mehr einfach in Formeln verwendet werden kann. Eine andere Methode besteht darin, ein benutzerdefiniertes Format zu verwenden. Wenn Sie das benutzerdefinierte Format „0x“@ auf die Zelle anwenden, kann der Wert der Zelle weiterhin in einer Gleichung verwendet werden. Beispiele:

╔═══╦═ ...
║ ║ A ║ B ║ ║ ║
╠════╬═ ...
║ 1 ║ ║ Wert ║ Entsprechende Formel ║ Zahlenformat ║
║ 2 ║ Dezimal ║ 11162790 ║ 11162790 ║ Allgemein ║
║ 3 ║ Hex ║ AA54A6 ║ =DEC2HEX(B2) ║ Allgemein ║
║ 4 ║ führende Nullen ║ 00AA54A6 ║ =DEC2HEX(B2,8) ║ Allgemein ║
║ 5 ║ Text 0x Präfix ║ 0x00AA54A6 ║ =DEC2HEX(B2,8) ║ "0x"@ ║
║ 6 ║ Text 0x Präfix ║ 0x00AA54A6 ║ ="0x" & DEC2HEX(B2,8) ║ Allgemein ║
║ 7 ║ Verwenden Sie B5 ║ AA54A600 ║ =DEC2HEX(HEX2DEC(B5) * 256) ║ Allgemein ║
║ 8 ║ Verwenden Sie B5 ║ 0xAA54A600 ║ =DEC2HEX(HEX2DEC(B5) * 256) ║ "0x"@ ║
║ 9 ║ Versuchen Sie, B6 zu verwenden ║ #NUM! ║ =DEC2HEX(HEX2DEC(B6) * 256) ║ Allgemein ║
╚═══╩═════════════════╩═════════════╩═══════════════════════════════════════════════════════════╝


Große Zahlen mit unterschiedlichen Ziffern können jedoch immer noch schwer zu lesen sein, daher verwende ich gerne Kommas in Dezimalzahlen und "_" in Hexadezimalzahlen. Zuerst müssen Sie die oberen und unteren 16 Bits der Zahl ermitteln. Die oberen 16 Bits einer 32-Bit-Zahl können mit = INT( A1 / 2^16 ) ermittelt werden. Eine Division durch 2^16 wirkt wie eine Rechtsverschiebung von 16 Bits, und INT entfernt den Bruchteilsrest. Mit MOD können Sie die unteren 16 Bits einer beliebigen 32- oder 64-Bit-Zahl ermitteln; =MOD(A1, 2^16). MOD ermittelt effektiv den Rest, also die unteren 16 Bits. Hier ist eine Tabelle, die dies in Aktion zeigt.

╔═══╦═ ...�
║ ║ A ║ B ║ ║ ║
╠════╬═ ...
║ 1 ║ ║ Wert ║ Entsprechende Formel ║ Format ║
║ 2 ║ Dezimal ║ 3.098.743.209 ║ 3098743209 ║ #,##0 ║
║ 3 ║ Obere Bytes ║ B8B3 ║ =DEC2HEX(INT( B2/2^16 ), 4) ║ Allgemein ║
║ 4 ║ Untere Bytes ║ 11A9 ║ =DEC2HEX(MOD( B2, 2^16 )) ║ Allgemein ║
║ 5 ║ Vollständige Zahl ║ 0xB8B3_11A9 ║ ="0x" & DEC2HEX(INT( B2/2^16 ), 4) ║ Allgemein ║
║ ║ ║ ║ & "_" & DEC2HEX(MOD(B2, 2^16), 4) ║ ║
╚═══╩════════════════╩═════════════════╩══════════════════════════════════════════════════════════════════════════════╝


Übrigens, ich muss mich ganz herzlich bedanken beihttps://ozh.github.io/ascii-tables/. Ich habe diesen Link verwendet, um die ASCII-Texttabellen zu erstellen. Ich habe die Tabelle einfach aus meiner Excel-Tabelle in den Eingabebereich kopiert und das schöne Unicode-Textlayout wurde automatisch erstellt.

Antwort2

Wenn Sie eine Zelle so formatieren möchten, dass Sie eine Dezimalzahl eingeben und diese automatisch als Hexadezimalzahl angezeigt bekommen, ist das nicht möglich. Sie können die Zelle entweder als Text formatieren und direkt Hexadezimalzahlen eingeben (beachten Sie jedoch, dass Excel diese nicht für Berechnungen verwenden kann) oder die Funktionen DEC2HEX()und verwenden HEX2DEC(), um zwischen Basis 10 und Basis 16 zu konvertieren.

Antwort3

Wenn die zu konvertierende Zelle ist, A1verwenden Sie =DEC2HEX(A1).

Antwort4

=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)

Die REPT-Formel wiederholt die „0“ basierend auf der Länge der Hex-Zeichenfolge, die durch Konvertierung aus einer Dezimalzahl generiert wird, und der gewünschten Länge der HEX-Zeichenfolge. In diesem Beispiel möchte ich HEX-Zeichenfolgen der Länge 4 generieren.

Die führenden Nullen verketten Sie dann mit dem eigentlichen HEX-String und erzeugen so den HEX-Wert der gewünschten Länge.

Vorteile:

  1. Einfaches Kopieren der Formel in ein anderes Arbeitsblatt. Mit nur zwei Zellbezügen kann ein Dezimalwert, B3, neu zugewiesen werden.
  2. Die Ergebnisse dieser Formel werden von Excel als HEX-Werte behandelt. Man könnte auch "0x" voranstellen, aber ich halte das nicht für notwendig.

Hinweis: Ich verwende dies, wenn ich HEX-Zeichenfolgen kopiere und diese mit unterschiedlichen Längen kopiert werden. Ich erzeuge zunächst eine Spalte mit Dezimalwerten aus den Originalwerten, für die ich dann diese Formel ausführen kann.

verwandte Informationen