Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Zahlensysteme

Beitrag: Umwandlung der Zahl eines beliebigen Zahlensystems in eine Dezimalzahl

Aufgabe
Die Zahl aus einem beliebigen (frei wählbaren) Zahlensystem soll in eine Dezimalzahl umgewandelt werden.

Lösung
In A1 steht die Zahl.
In B1 steht die Zahlenbasis, von der umgerechnet werden soll (maximal 36).

in A4 bis A43 stehen die Zahlen 0 1 2 3 ... bis 39

in B4 steht:
=TEIL(A$1;LÄNGE(A$1)-A4;1)

in C4 steht:
=WENN(LÄNGE(A$1) < A5;0;1*WENN(ISTFEHLER(B4*1);CODE(GROSS(B4))-55;B4))

in D4 steht:
=C4*$B$1^A4

B4, C4 und D4 bis Zeile 42 runterkopieren (diesen Bereich ausblenden).

das Ergebnis:
=SUMME(D4:D42)

Wer will; - in A2 noch eine Warnung bei falschen Eingaben:
=WENN(LÄNGE(C1)>=23;"Dezimalzahl wird zu groß (> 15 Stellen)";WENN(MAX(C4:C40)>100;"keine Umlaute und kein ß";WENN(UND(B1>1;MAX(C4:C40)>B1-1);"maximal "&WENN(B1>10;ZEICHEN(B1-1+55);B1-1);"")))

Lösung mit Array-Formel ohne Hilfsspalten siehe:
http://www.excelformeln.de/formeln.html?welcher=272

Erläuterung

Ab Excel-2013 sind obige Handstände überflüssig mit der Winzformel:
=DEZIMAL(A1;B1)

       A               B               C       
1 Zahl  System  ergibt  
2 F2B  16 (HEX)  3.883  
3 Y1  35  1.191  
4 267  8 (Oktal)  183  
5 110001  2 (Binär)