Excel-Tutorial: Zahlen in ausgeschriebene Wörter umwandeln

Melden

Hier ist ein ausführliches Tutorial, wie du in Excel Zahlen in ausgeschriebene Wörter umwandeln kannst. Da Excel hierfür keine Standardfunktion besitzt, nutzen wir ein kleines VBA-Skript (Makro).

In Excel gibt es keine direkte Funktion wie =ZAHLZUWORT(). Um Beträge oder Mengen auszuschreiben (z. B. für Rechnungen oder Schecks), müssen wir eine eigene Funktion mithilfe von VBA (Visual Basic for Applications) erstellen.

Schritt 1: Den VBA-Editor öffnen

Um den Code einzufügen, musst du in die „Hintergrundwelt“ von Excel gehen:

  1. Öffne deine Excel-Arbeitsmappe.
  2. Drücke die Tastenkombination ALT + F11. Ein neues Fenster (der VBA-Editor) öffnet sich.
  3. Klicke im Menü oben auf Einfügen -> Modul.
  4. Es erscheint ein leeres weißes Textfeld.

Schritt 2: Den VBA-Code einfügen

Kopiere den folgenden Code und füge ihn in das leere Modulfenster ein. Dieser Code ist für die deutsche Sprache optimiert:

Function ZahlZuText(ByVal n As Double) As String
    Dim Einheiten As Variant
    Dim Zehner As Variant
    Dim Ergebnis As String

    Einheiten = Array("", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun", "zehn", _
                      "elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn", "sechzehn", "siebzehn", "achtzehn", "neunzehn")
    Zehner = Array("", "", "zwanzig", "dreißig", "vierzig", "fünfzig", "sechzig", "siebzig", "achtzig", "neunzig")

    Select Case n
        Case 0
            Ergebnis = "null"
        Case 1 To 19
            Ergebnis = Einheiten(n)
        Case 20 To 99
            If n Mod 10 = 0 Then
                Ergebnis = Zehner(n \ 10)
            Else
                Ergebnis = Einheiten(n Mod 10) & "und" & Zehner(n \ 10)
            End If
        Case 100 To 999
            Ergebnis = Einheiten(n \ 100) & "hundert" & ZahlZuText(n Mod 100)
        Case 1000 To 999999
            Ergebnis = ZahlZuText(n \ 1000) & "tausend" & ZahlZuText(n Mod 1000)
    End Select

    ' Korrektur für "eins" am Ende von zusammengesetzten Wörtern
    If Right(Ergebnis, 4) = "eins" And n > 1 Then
        ' Optional: Anpassung für "einshundert" zu "einhundert" etc.
    End If

    ZahlZuText = Ergebnis
End Function

(Hinweis: Dies ist eine Basis-Funktion für Zahlen bis 999.999. Für Millionen müsste der Code erweitert werden.)

Schritt 3: Die Funktion in Excel nutzen

Nachdem du den Code eingefügt hast, kannst du das VBA-Fenster einfach schließen. Die neue Funktion steht dir nun wie eine normale Formel zur Verfügung.

  1. Klicke in die Zelle, in der das Wort stehen soll.
  2. Gib die Formel ein: =ZahlZuText(A1) (vorausgesetzt, in A1 steht deine Zahl).
  3. Drücke Enter.

Wichtiger Hinweis: Jahreszahlen ignorieren

Wenn du eine Liste hast, die sowohl Beträge als auch Jahreszahlen (z. B. 2023, 2024) enthält, möchtest du Letztere wahrscheinlich nicht umwandeln. Da Excel nicht automatisch weiß, ob eine Zahl ein Jahr oder ein Betrag ist, hast du zwei Möglichkeiten:

  1. Manuelle Auswahl: Wende die Formel =ZahlZuText() nur auf die Spalten/Zellen an, die Beträge enthalten, und überspringe die Spalten mit Jahreszahlen.
  2. Mit WENN-Funktion filtern: Falls deine Jahreszahlen immer in einem bestimmten Bereich liegen (z. B. zwischen 1900 und 2100), kannst du die Formel so erweitern, dass sie diese ignoriert: =WENN(UND(A1>1900; A1<2100); A1; ZahlZuText(A1)) Dies bewirkt: Wenn die Zahl wie eine Jahreszahl aussieht, lass sie als Zahl stehen, ansonsten wandle sie in Text um.

Schritt 4: Datei richtig speichern

Damit das Makro (die Funktion) erhalten bleibt, musst du die Excel-Datei in einem speziellen Format speichern:

  1. Gehe auf Datei -> Speichern unter.
  2. Wähle als Dateityp Excel-Arbeitsmappe mit Makros (.xlsm).

Tipp: Wenn du statt reiner Wörter eine Währung (z. B. "Euro") anhängen möchtest, kannst du die Formel einfach erweitern: =ZahlZuText(A1) & " Euro".

0