zwerg (@work): Excel: Zahl durch Wort ersetzen

Glück auf,

ich habe folgendes Problem und zwar möchte ich in Excel eine Zahl durch Wörter ersetzen.

Also beispielsweise so:

In Zelle A1 steht: 1.200
In Zelle A2 soll mir Excel mit einer Funktion ausgeben eins zwei null null

Ist das möglich? Hatte schon an etwas benutzerdefiniertes gedacht, also so in der Art ersetze "1" durch "eins" usw.. Aber da habe ich das Problem, dass ich erstmal die "1200" in "1", "2" ... zerlegen müsste.

Hat jmd. einen Ansatz für mich oder gibt es gar eine Funktion in Excel, die das automatisch ausführt?

Freundliche Grüße und noch nen "schönen Freitag den 13."

zwerg Alex

  1. Hello,

    ein kleines VBA-Makro, das eine Schleife laufen lässt von 1..Len(eintrag) und dabei jeweils ein SELECT CASE Mid(eintrag, zaehler, 1) mit den Zahlen von 0..9 vergleicht und das Ergebnis auf einen String bringt, der am Ende in die Zielzelle eingetragen wird.

    MfG
    Rouven

    --
    -------------------
    Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)
    1. Glück auf Rouven

      ein kleines VBA-Makro, das eine Schleife laufen lässt von 1..Len(eintrag) und dabei jeweils ein SELECT CASE Mid(eintrag, zaehler, 1) mit den Zahlen von 0..9 vergleicht und das Ergebnis auf einen String bringt, der am Ende in die Zielzelle eingetragen wird.

      Ich kenne mich  mit Makros leider mal garnicht aus. Naja, du hast mich ja streng genommen auch nur wörtlich genommen "Hat jmd. einen Ansatz für mich" *g*

      Vlt. etwas detailierter? Oder einen Ansatz ohne Makro?

      1. Hi,

        Ich kenne mich  mit Makros leider mal garnicht aus. Naja, du hast mich ja streng genommen auch nur wörtlich genommen "Hat jmd. einen Ansatz für mich" *g*

        was bietest Du denn? ;-)

        Hier ist mal ein Beispiel:

          
        Function ZahlInZiffern(ByVal varZahl As Variant)  
        Dim bytS As Byte  
        Dim arrSammler()  
        Dim strTemp As String  
          
        Application.Volatile  
          
        If Not IsNumeric(varZahl) Then  
            ZahlInZiffern = False  
            Exit Function  
        End If  
          
        arrSammler = Array("Null", "Eins", "Zwei", "Drei", "Vier", "Fünf", "Sechs", "Sieben", "Acht", "Neun")  
          
        strTemp = ""  
        For bytS = 1 To Len(varZahl)  
            If IsNumeric(Mid(varZahl, bytS, 1)) Then  
                strTemp = strTemp & arrSammler(Mid(varZahl, bytS, 1)) & " "  
            Else  
                strTemp = strTemp & Mid(varZahl, bytS, 1) & " "  
            End If  
        Next  
        ZahlInZiffern = Trim(strTemp)  
        End Function  
        
        

        Das fügst Du in ein allgemeines Modul ein und kannst dann in die Zielzelle z. B. eintippen: =zahlinziffern(A1)

        Viele Grüße

        Jörg

        1. Glück auf Jörg!

          Vielen lieben Dank für die Lösung  meines Problems.
          Funktioniert einwandfrei :-)

          Freundliche Grüße

          zwerg Alex

  2. Moin Alex,

    In Zelle A1 steht: 1.200
    In Zelle A2 soll mir Excel mit einer Funktion ausgeben eins zwei null null

    ist zwar nicht das, was du suchst, aber eine sehr schöne Möglichkeit, Zahlen im Klartext auszugeben (also hier: einstausendzweihundert):

    http://www.excelformeln.de/tips.html?welcher=36

    Das Ganze kommt ohne Makros aus (das Makro, dass drin ist, ist vollkommen überflüssig ;-), benötigt aber einige benutzerdefinierten Namen (unter Einfügen/Namen/Erstellen können sie betrachtet werden).

    Wobei ich gerade sehe, dass es zweimal "Download" auf der Seite gibt... für den unteren gilt das gerade geschriebene, der obere hingegen bietet zwar keine 3 Sprachen, macht aber aus 1.200 "eins zwo null null" ;-)

    Glück auf
    Dirk

    1. Glück auf Dirk!

      Ich habe mir dein Beispiel heruntergeladen. Ich habe nicht direkt durchgeblickt, wie das in dem Beispiel formuliert, konnte mir aber mit der dortigen "WECHSELN"-Funktion meine eigene Formel basteln. Leider meckert Excel nach der 8. Verschachtelung der Funktion, so dass ich nicht alle 10 Werte (0-9).

      Also so klappt es:
      =WENN(A1<0;"minus   ";"")&WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;0;"Null   ");9;"Neun   ");8;"Acht ");7;"Sieben ");6;"Sechs ");5;"Fünf ");4;"Vier ");3;"Drei ")
      Leider fehlt dann noch die 1 und die 2. Gebe ich aber eine weitere "WECHSELN"-Funktion an, mag Excel nicht mehr mitmachen.

      Diese Lösung  wäre mir lieber gewesen, weil ich dann auch gewusst hätte, was ich tue, aber so habe ich auf die Lösung von Jörg zurückgegriffen und bin froh, dass es läuft.

      Vielen Dank auch an dich, dass du dich mit meinem Problem befasst hast.

      Freundliche Grüße

      zwerg Alex

      1. Ich habe mir dein Beispiel heruntergeladen. Ich habe nicht direkt durchgeblickt, wie das in dem Beispiel formuliert, konnte mir aber mit der dortigen "WECHSELN"-Funktion meine eigene Formel basteln. Leider meckert Excel nach der 8. Verschachtelung der Funktion, so dass ich nicht alle 10 Werte (0-9).

        OMG, ich hoffe ihr wisst, was ich meinte und verzeiht mir das ein oder andere fehlende Wort. Ich geh wohl besser mal ins Bett.

        Ein schönes sonniges Wochenende allen miteinander.

      2. Guten Morgen,

        Leider meckert Excel nach der 8. Verschachtelung der Funktion, so dass ich nicht alle 10 Werte (0-9).

        ja, Excel lässt wirklich innerhalb einer Verschachtelung nur acht Tiefen zu.

        Also so klappt es:
        =WENN(A1<0;"minus   ";"")&WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;0;"Null   ");9;"Neun   ");8;"Acht ");7;"Sieben ");6;"Sechs ");5;"Fünf ");4;"Vier ");3;"Drei ")
        Leider fehlt dann noch die 1 und die 2. Gebe ich aber eine weitere "WECHSELN"-Funktion an, mag Excel nicht mehr mitmachen.

        Wenn diese Formel in z. B. A2 steht, kannst Du in eine andere Zelle die restlichen Funktionen schreiben und Dich auf A2 beziehen. Dann wird erst der erste Teil ersetzt, mit der zweiten Formel der zweite. Zur Not kannst Du ja mit Hilfsspalten arbeiten und diese ausblenden.

        Oder Du verkettest die Funktionen (weiß jetzt nicht genau, ob es "*" ist - steht aber auch auf excelformeln.de). Dann kannst Du auch mehr Tiefen verwenden.

        Viele Grüße

        Jörg

        1. Glück auf!

          Wenn diese Formel in z. B. A2 steht, kannst Du in eine andere Zelle die restlichen Funktionen schreiben und Dich auf A2 beziehen. Dann wird erst der erste Teil ersetzt, mit der zweiten Formel der zweite. Zur Not kannst Du ja mit Hilfsspalten arbeiten und diese ausblenden.

          Danke, tatsächlich arbeitet auch das von Dirk verlinkte Beispiel mit Hilfszellen. Habe doch glatt übersehen, dass da einige Zellen ausgeblendet wurden. Jetzt ist das Beispiel auch gleich viel verständlicher für mich.

          Oder Du verkettest die Funktionen (weiß jetzt nicht genau, ob es "*" ist - steht aber auch auf excelformeln.de). Dann kannst Du auch mehr Tiefen verwenden.

          Bezüglich der Verkettung werde ich mich mal schlau machen. Ansonsten arbeite ich einfach mit einer Hilfszelle.
          "excelformeln.de" ist jedenfalls nun in meinen Favoriten :-)

          Freundliche Grüße

          zwerg Alex

          1. Glück auf!

            Sagt man auch in meiner ehemaligen Heimat. ;-)

            Bezüglich der Verkettung werde ich mich mal schlau machen. Ansonsten arbeite ich einfach mit einer Hilfszelle.
            "excelformeln.de" ist jedenfalls nun in meinen Favoriten :-)

            Naja, jeder wie er es mag. Ich arbeite lieber mit VBA - im Unterschied zum Gründer von excelformeln.de, wie man es auch auf diesem Foto von 2000 sehen kann:

            ;-)

            Viele Grüße

            Jörg

            1. Glück auf!

              Sagt man auch in meiner ehemaligen Heimat. ;-)

              Du verlässt den Ruhrpott und ziehst in die Bundeshauptstadt? Nee nee Kumpel ;-)

              Naja, jeder wie er es mag. Ich arbeite lieber mit VBA - im Unterschied zum Gründer von excelformeln.de, wie man es auch auf diesem Foto von 2000 sehen kann:

              WF sieht aber gefährlich aus und mit dem Zettel in der Hand erinnert er mich irgendwie an den Schlemihl aus der Sesamstraße "Pssst, hey du ... willst du ein V kaufen? Oder ein B oder ein A? ;-)

              Freundliche Grüße

              zwerg Alex

              1. Glück auf!

                Sagt man auch in meiner ehemaligen Heimat. ;-)

                Du verlässt den Ruhrpott und ziehst in die Bundeshauptstadt? Nee nee Kumpel ;-)

                Nee, das sagt man auch woanders.  ;-)

                WF sieht aber gefährlich aus und mit dem Zettel in der Hand erinnert er mich irgendwie an den Schlemihl aus der Sesamstraße "Pssst, hey du ... willst du ein V kaufen? Oder ein B oder ein A? ;-)

                Naja, die Sesamstraße kenne ich nicht so, aber WF ist schon in Ordnung. Die Exceltreffen waren auch durch ihn immer sehr interessant, aber auch amüsant. ;-)

                Viele Grüße

                Jörg