Excel Frage zu Formel

bandchef

Lt. Commander
Registriert
Juli 2016
Beiträge
1.680
Hallo,

ich habe folgendes Problem:

In den Zelle 1,f; 1,g; bis 1,AK; steht in jeder Zelle ein Bit einer 32 Bit Zahl. Ich möchte nun diese 32 Bit Zahl in eine Hex-Zahl umrechnen.
Ich weiß, dass Excel die Möglichkeit der Formel HEXINBIN() bietet, allerdings muss dafür die binäre Zahl in einer einzigen Zelle stehen.

Gibt es eine Möglichkeit mit einer Formel (oder mehreren Formeln) die auf 32 verschiedene Zellen verteile 32-Bit Zahl in eine Hex-Zahl (in einer Zelle) umzurechnen?
Ergänzung ()

Was ich auch schon versucht habe, ist, dass ich die 32 Zellen mit & konkateniere. In der Tat bekomme ich dann in einer Zelle eine 32 Bit lange Zahl, eben aus den vorhergehenden Zellen.
Aber das Umrechnen mit Bin2Hex() funktioniert dann nicht.
 
Zuletzt bearbeitet:
=BIN2HEX(CONCAT(F1:AK1))
 
Ah shit. Die Funktion ist auf 10 Bit Länge begrenzt. Ich hab aber 32.
 
Dann das ganze jeweils für ein Byte (8 Zellen) und am Ende mit einem weiteren concat() zusammenfügen...

E: =(CONCATENATE(BIN2HEX(CONCAT(F1:M1));BIN2HEX(CONCAT(N1:U1));BIN2HEX(CONCAT(V1:AC1));BIN2HEX(CONCAT(AD1:AK1))))
 
Alternativ: =TEXTKETTE(BININHEX(TEIL(TEXTKETTE(F1:AK1);SEQUENZ(4;;;8);8);2))
 
kartoffelpü schrieb:
E: =(CONCATENATE(BIN2HEX(CONCAT(F1:M1));BIN2HEX(CONCAT(N1:U1));BIN2HEX(CONCAT(V1:AC1));BIN2HEX(CONCAT(AD1:AK1))))
Das funktioniert eigentlich wunderbar, aber manche Zahlen rechnet die Formel falsch um...

Die z.B.:
1​
0​
1​
1​
0​
0​
1​
1​
0​
1​
0​
1​
1​
0​
0​
1​
0​
0​
0​
0​
0​
0​
0​
1​
0​
0​
1​
1​
1​
1​
0​
1​
ist eigentlich
0xB359013D
die Formel rechnet aber
0xB35913D
aus.
Ergänzung ()

bughero schrieb:
Alternativ: =TEXTKETTE(BININHEX(TEIL(TEXTKETTE(F1:AK1);SEQUENZ(4;;;8);8);2))
mit der Formel hab ich das oben beschriebene Problem nicht. Musste nur kurz gucken wie man die deutschen Formel-Funktionen ins Englische übersetzt (ich nutze hier das englische Excel).

Aber es ist wohl TEXTKETTE() = CONCAT(), TEIL() = MID() und SEQUENZ() = SEQUENCE()
Ergänzung ()

So oder so, DANKE an euch!
 
Zuletzt bearbeitet:
Zurück
Oben