Römische Zahlen in Arabische wandeln

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Eierlein.

    Römische Zahlen in Arabische wandeln

    hi,
    ich habe hier eine Funktion, mit der ich Dezimal zahlen in Binärzahlen wandeln kann.
    Nun will ich mit dieser Funktion "Wandle" römische Zahlen in arabische, bzw. Dezimalzahlen wandeln...weiß jemand wie ich diese funktion erweitern kann?



    hier meine Funktion wandle:

    Function wandle(von As String, nach As String, eingabe As String, Optional_ breite As Long = 0) As String
    Dim vSatz As ZSatz
    Dim nSatz As ZSatz
    Dim ePuffer As String
    Dim vZiffer As String
    Dim vWert As Long
    Dim vExponent As Long
    Dim wPuffer As Long
    Dim nZiffer As String
    Dim nWert As Long
    Dim nExponent As Long
    Dim aPuffer As String
    init_Satz vSatz, von
    init_Satz nSatz, nach
    ePuffer = eingabe
    wPuffer = 0
    'Schleife zur Bestimmung des Wertes der Eingabe
    Do
    If ePuffer = Leer Then Exit Do
    vExponent = Länge(ePuffer) - 1
    vZiffer = trenne_erstes_Zeichen(ePuffer)
    vWert = scanneW(vSatz, vZiffer)
    wPuffer = wPuffer + (vWert * vSatz.basis ^ vExponent)
    Loop
    Do
    If wPuffer < 1 Then Exit Do
    nWert = wPuffer Mod nSatz.basis
    nZiffer = scanneZ(nSatz, nWert)
    AddText aPuffer, nZiffer, vorn
    wPuffer = (wPuffer - nWert) \ nSatz.basis
    Loop
    If breite <> 0 Then aPuffer = textLänge_n(breite, aPuffer, nSatz.ziffern(0))
    wandle = aPuffer
    End Function

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Shroomy“ ()

    Falls du es als Zellformel benötigst, geht es auch direkt:

    Trage folgenden Inhalt in eine Zelle ein:

    =MATCH(A1;ROMAN(ROW($1:$3999));0)

    Die Zelleingabe mit Ctrl+Shift+Enter abschliessen, damit eine Array-Formel daraus wird (angezeigt durch geschweifte Klammern).

    A1 ist die Zelle, deren Wert du umrechnen willst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --