Excel: Zahl durch Wort ersetzen
zwerg (@work)
- software
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
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
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?
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
Glück auf Jörg!
Vielen lieben Dank für die Lösung meines Problems.
Funktioniert einwandfrei :-)
Freundliche Grüße
zwerg Alex
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
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
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.
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
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
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
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
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