Guten morgen,
gibt es eine Möglichkeit in Excel eine in einer Zelle stehende Zahl umzukehren und in einer anderen Zelle einzufügen.
z.B.: in a1 steht 1234, in b1 soll 4321 stehen.
Es geht um Palindromisierung.
Freundliche Grüße
Bernhard Kaiser
Guten morgen,
gibt es eine Möglichkeit in Excel eine in einer Zelle stehende Zahl umzukehren und in einer anderen Zelle einzufügen.
z.B.: in a1 steht 1234, in b1 soll 4321 stehen.
Es geht um Palindromisierung.
Freundliche Grüße
Bernhard Kaiser
Hallo Bernhard,
da ich faul bin, darf es auch c1 sein?
b1 =TEXT(A1;„0“)
c1 =TEIL(B1;7;1)&TEIL(B1;6;1)&TEIL(B1;5;1)&
TEIL(B1;4;1)&TEIL(B1;3;1)&TEIL(B1;2;1)&TEIL(B1;1;1)
(Formel für c1 bitte in eine Zeile schreiben, reicht für 7 stellige Zahlen)
d1 =WENN(B1=C1;„Palindrom“;"")
MfG Georg V.
P.S.: Formel auf OpenOffice entwickelt, da mein Windows-Rechner gerade beschäftigt ist.
P.s.2: Für die Mitleser: Auch ich habe bei Wikipedia ( http://de.wikipedia.org/wiki/Palindrom ) erstmal nachlesen müssen: ein Palidrom bedeutet umgangssprachlich soviel wie Spiegelzahl. Es geht aber auch mit Wörtern. Tragt einfach mal Rentner in B1 ein
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Bernhard!
Die Formel von Georg lässt sich auch so verkürzen, dass du sie in B1 unterbringst:
B1 =TEIL(TEXT(A1;„0“);7;1)&TEIL(TEXT(A1;„0“);6;1)&TEIL(TEXT(A1;„0“);5;1)&TEIL(TEXT(A1;„0“);4;1)&TEIL(TEXT(A1;„0“);3;1)&TEIL(TEXT(A1;„0“);2;1)&TEIL(TEXT(A1;„0“);1;1))
Gruß Alex
Nachteil an den beiden Lösungen ist (wie so oft), dass man das nicht wirklich flexibel halten kann, was die Länge der Zahlen/Wörter betrifft. Man kann das zwar mit mehreren Hilfsspalten hinkriegen, deren Anzahl gleich der angenommenen Maximallänge ist, aber schön ist es nicht. In den Tabellenblatt-Formeln kann man eben leider keine Schleifen verwenden.
Dazu muss dann ein Makro ran, das in diesem Falle denkbar einfach ist:
Function Umdrehen(sZellwert As String, Optional bGleichheit As Boolean, Optional bIstZahl As Boolean) As Variant
Dim i As Integer
Dim ZW As String
For i = Len(sZellwert) To 1 Step -1
ZW = ZW & Mid(sZellwert, i, 1)
Next i
If bGleichheit Then
Umdrehen = UCase(ZW) = UCase(sZellwert) 'Groß/Kleinschreibung wird ignoriert bei Wörtern
Else 'bGleichheit
If bIstZahl Then
Umdrehen = CDbl(ZW)
Else 'bIstZahl
Umdrehen = ZW
End If 'bIstZahl
End If 'bGleichheit
End Function 'Umdrehen
In B2 gibt man dann einfach folgendes ein:
=Umdrehen(A1)
=Umdrehen(A1,WAHR)
=Umdrehen(A1,WAHR)
In der ersten Variante wird einfach nur umgedreh und als Text zurückgeliefert. In der zweiten wird nicht der umgedrehte Wert zurückgegeben, sondern nur die Info, ob es so ein Pala-Dingsbums ist (wahr/falsch). In der dritten wiederum wird angenommen, dass der Zellwert eine Zahl darstellt. Dann wird auch eine Zahl zurückgegeben. Die Sinnfrage ist an der Stelle erlaubt
Kristian
PS: Um die Funktion nutzen zu können, muss man die Funktion in ein Modul packen (also nicht einfach in den Code-Bereich der Tabelle oder des Arbeitsblattes). Man kann sie auch in der PERSONL.xla unterbringen.
Hier nochmal der Code für IE-Nutzer zum kopieren (oben in der PRE-Darstellung klappt das bei dem nämlich immer nicht):
Function Umdrehen(sZellwert As String, Optional bGleichheit As Boolean, Optional bIstZahl As Boolean) As Variant
Dim i As Integer
Dim ZW As String
For i = Len(sZellwert) To 1 Step -1
ZW = ZW & Mid(sZellwert, i, 1)
Next i
If bGleichheit Then
Umdrehen = UCase(ZW) = UCase(sZellwert) 'Groß/Kleinschreibung wird ignoriert bei Wörtern
Else 'bGleichheit
If bIstZahl Then
Umdrehen = CDbl(ZW)
Else 'bIstZahl
Umdrehen = ZW
End If 'bIstZahl
End If 'bGleichheit
End Function 'Umdrehen
Danke für die Antworten.
Zur Sinnfrage:
Palindrome sind ein Teil der Zahlentheorie und hochinteressant.
Aus fast allen ganzen Zahlen kann man durch Addition (oder alternierend Addition und Subtaktion) der Invertzahlen erstellen und in Ordnungen einteilen.
121 ist ein Palindrom 0. Ordnung.
47 eines der 1. Ordnung, weil 47+74=121
57 eines der 2. Ordnung, weil 57+75=132; 132+231=363
69 eines der 4. Ordnung, weil 4 Additionen erforderlich sind.
196 geht überhaupt nicht.
Das Ganze führt in ungeahnte Welten. Palindrome in anderen Zahlensystemen bis hin zur Mandelbrotschen Chaostheorie.
Literatur:
Kröber, K.G. Mathematik der Palindrome. Rowohlt 2003.
Grüße
Bernhard Kaiser