Registriert seit: 03.12.2017
Version(en): 12.3.6
03.12.2017, 18:48
(Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2017, 18:49 von Ines.
Bearbeitungsgrund: Tippfehler
)
Hallo zusammen,
ich brauche eine Formel, mit der ich die Quersumme eines Datum berechnen kann, weiter reduziert auf eine einstellige Zahl mit Ausnahme der Zahlen 11, 22 und 33.
Bsp.: 01.01.1992 = 23 = 5
07.01.1992 = 11
Diese Formel ist mir dabei schon sehr dienlich:
=SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)
Meine Fragen:
Kann Ich diese Formel um meine Ausnahme erweitern?
Warum funktioniert sie nur mit "ZEILE(1:8)" und nicht zb 1:50?
Gibt es die Möglichkeit, sie zu kopieren für ein neues Bezugsfeld?
Herzlichen Dank,
Ines
Registriert seit: 15.08.2017
Version(en): 2016
Hallo Ines
Das ist schon richtig so, Zeile(1:8)
Du hast ja das Datum ohne Punkte (TEXT(A1;"TTMMJJJJ") gewählt, sind als 8 Zahlen.
Mfg Guschti
Folgende(r) 1 Nutzer sagt Danke an Guschti für diesen Beitrag:1 Nutzer sagt Danke an Guschti für diesen Beitrag 28
• Ines
Registriert seit: 14.04.2017
Version(en): 2016/19
03.12.2017, 23:10
(Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2017, 23:10 von echo.)
Hallo
zeile(1:8) steht dort weil deine Formel nacheinander die acht Ziffern deines Textstrings TTMMJJJJ addiert,
hat also nur was mit der Steuerung der Matrixformel und nichts mit der Position zu tun.
Daher ist zeile(1:50) quatsch, da der erzeugte (Datum)-Text nur 8 Zeichen hat.
die Quersumme wird aus dem Datum in A1 gebildet
http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=112
dort gibt es deine Formelversion auch.
Um weiter zu rechnen könntest du diese mit der Formel von Franz Pölt kombinieren
Gruß Holger
Code:
=(REST(SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)-KÜRZEN(SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)/9)*9;-9)+9)*(SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)>0)
Folgende(r) 1 Nutzer sagt Danke an echo für diesen Beitrag:1 Nutzer sagt Danke an echo für diesen Beitrag 28
• Ines
Registriert seit: 15.04.2014
03.12.2017, 23:11
(Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2017, 23:13 von Josef B.)
Hallo Ines Du schreibstZitat:07.01.1992 = 11
Dein Beispiel sagt mir aber dass ich dein Anliegen überhaupt nicht verstanden habe, obwohl ich mich da schon ein wenig auskenne.Das ist mir eine zu abstrakte Numerologie. Nach meinem Verständnis ergibt die Jahreszahl alleine schon 21 Gruss Sepp
Registriert seit: 14.04.2017
Version(en): 2016/19
Hallo
vielleicht ist es so Plausibler:
07.01.1992 > Quersumme = 29
29 > Quersumme = 11
Gruß Holger
Folgende(r) 1 Nutzer sagt Danke an echo für diesen Beitrag:1 Nutzer sagt Danke an echo für diesen Beitrag 28
• Ines
Registriert seit: 03.12.2017
Version(en): 12.3.6
(03.12.2017, 23:10)echo schrieb: zeile(1:8) steht dort, weil deine Formel nacheinander die acht Ziffern deines Textstrings TTMMJJJJ addiert,
hat also nur was mit der Steuerung der Matrixformel und nichts mit der Position zu tun.
Code:
=(REST(SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)-KÜRZEN(SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)/9)*9;-9)+9)*(SUMMENPRODUKT(TEIL(TEXT(A1;"TTMMJJJJ");ZEILE(1:8);1)*1)>0)
Danke, jetzt hab ich verstanden, was es mit der 8 auf sich hat. :)
Die Formel klappt prima für die Reduktion auf eine einstellige Zahl. Weißt du, wie ich Ausnahmen (11, 22, 33) hinzufügen kann?
Gruß!
Registriert seit: 03.12.2017
Version(en): 12.3.6
(03.12.2017, 23:11)Josef B schrieb: Nach meinem Verständnis ergibt die Jahreszahl alleine schon 21
Ja genau! Und dann hab ich noch die 7 und die 1 (=8) und komme damit auf 29, in weiterer Folge auf 11. :)
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
warum auch immer :)
{=WENN(REST(SUMME(--TEIL(TEXT(A1;"JJJJMMTT");ZEILE(1:8);1));11);SUMME(--TEIL(TEXT(SUMME(--TEIL(TEXT(A1;"JJJJMMTT");ZEILE(1:8);1));"00");ZEILE(1:2);1));SUMME(--TEIL(TEXT(A1;"JJJJMMTT");ZEILE(1:8);1)))}
wobei die {} NICHT eingegeben, sondern Formel wird mit Strg + Umschalt + Enter abschließen.
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Ines
Registriert seit: 10.04.2014
Version(en): Office 2019
(03.12.2017, 23:23)echo schrieb: Hallo
...
29 > Quersumme = 11
Gruß Holger
Hallo, dann geht's aber noch weiter..:
11 > Quersumme = 2
Wie im Ausgangsthread..:
Bsp.: 01.01.1992 = 23 = 5
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
@ Jörg, bei 11 soll ja nicht mehr reduziert werden ;)
anbei eine UDF mit Rekursion auf einstellig inkl. der Ausnahmen
Code:
Option Explicit
Function Quers(ByVal Zahl As String) As Long
Dim i As Integer
For i = 1 To Len(Zahl)
Quers = Quers + CLng(Mid(Zahl, i, 1))
Next
Select Case Quers
Case 11, 22, 33
Exit Function
Case Is > 9
Quers = Quers(Quers)
End Select
End Function
'Aufruf der Funktion im Tabellenbaltt =QuerSu(A1) 'wenn in A1 dein datum steht
Function QuerSu(myrange As Range) As Long
QuerSu = Quers(Format(myrange.Value, "yyyymmdd"))
End Function
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Ines