Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1284to1288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ausgabe des Geburtsdatums der 30. jüngsten Person

Ausgabe des Geburtsdatums der 30. jüngsten Person
04.11.2012 19:02:45
Christian
Hallo alle zusammen,
bitte helft mir.
ich habe eine Liste mit Personen (in Spalte E) und ihren Geburtstagen (Spalte F).
Ich suche eine Formel, die mir durch kopieren über die ganze Tabelle das Geburtsdatum der 30. jüngsten Person bis zu der Zeile in der die jeweilige Formel steht, ausgibt, also normalerweise z.B. für die Zeile 208 mit
=KGRÖSSTE(F$1:F208;30)
jetzt habe ich aber zwei folgende Probleme,
1. manche Leute stehen mehrfach in der Liste, sollen aber nur einmal gezählt werden.
2. manchmal haben mehrere Leute am selben Tag Geburtstag, diese sollen natürlich einzeln gezählt werden.
Hat da jemand eine Idee, wie man mit einer Formel diese beiden Probleme umgehen kann?
Gruß und vielen Dank
Christian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgabe des Geburtsdatums der 30. jüngsten Person
05.11.2012 10:54:15
Klaus
Hallo Christian,
Hilfsspalten G und H (ich nehme an, in Zeile 1 stehen die Überschriften?)
G2: =E2&F2
H2: =IF(COUNTIF($G$2:G2;G2)=1;F2+(COUNTIF($F$2:F2;F2)/10000000000);"")
Formeln runterkopieren, H2 formatieren als MM.TT.JJJJ
jetzt hast du eine Hilfsspalte H, in der nur ein Datum steht wenn die Person dazu nur einmal vorkam. Ausserdem ist das Datum für KKLEINSTE einzigartig, so dass eine Datumsverdoppelung nicht vorkommt (zehn stellen hinter dem Komma, wenn mehr als 1E10 Personen am gleichen Tag Geburtstag haben klappts nicht mehr ...). Auf diese Hilfsspalte wendest du deine Formel an, statt auf die echten Geburtstage.
Grüße,
Klaus
PS: ich hab nicht begriffen, was deine Formel finden soll. Vor F30 KANN die gar nichts finden, richtig?

Anzeige
AW: Ausgabe des Geburtsdatums der 30. jüngsten Person
05.11.2012 19:48:15
Christian
Hallo Klaus,
ich hänge mal eine Datei an, wie ich es aufbauend auf deiner Idee jetzt gelöst habe.
Habe allerdings noch 2 Fragen,
1. Wozu benötige ich deine erste Formel? Meine Version ist ohne diese Formel, weiß allerdings nicht, ob es ohne diese Formel in meiner Version Berechnungsfehler gibt.
2. Gehen meine selbst zusammengezimmerten Formeln in Spalte L und M auch einfacher?
und zu deiner Frage mit den ersten 30 Werten, wie du an meinen Formeln siehst, geben sie das Minimum aus, wenn die Anzahl kleiner 30 ist.
https://www.herber.de/bbs/user/82496.xlsx
Gruß
Christian

Anzeige
AW: Ausgabe des Geburtsdatums der 30. jüngsten Person
05.11.2012 20:02:54
Christian
Hallo Klaus,
ich hänge mal eine Datei an, wie ich es aufbauend auf deiner Idee jetzt gelöst habe.
Habe allerdings noch 2 Fragen,
1. Wozu benötige ich deine erste Formel? Meine Version ist ohne diese Formel, weiß allerdings nicht, ob es ohne diese Formel in meiner Version Berechnungsfehler gibt.
2. Gehen meine selbst zusammengezimmerten Formeln in Spalte L und M auch einfacher?
und zu deiner Frage mit den ersten 30 Werten, wie du an meinen Formeln siehst, geben sie das Minimum aus, wenn die Anzahl kleiner 30 ist.
https://www.herber.de/bbs/user/82496.xlsx
Gruß
Christian

Anzeige
AW: Ausgabe des Geburtsdatums der 30. jüngsten Person
06.11.2012 08:35:21
Klaus
Hi,
1) damit verschmelze ich Name und Geburtstag zu einem Code. Wenn Frank und Clara beide am 01.01.1950 Geburtstag haben, wird das "countif" den zweiten davon ignorieren - arme Clara. Durch den Code wird daraus Frank18264 und Clara18264, das "countif" erkennt beides als Unikat an und gibt sowohl für Frank als auch für Clara den Geburtstag aus.
Ob bei dir ohne diesen Kniff berechnungsfehler auftreten kann ich nicht sagen - ich weiss ja nicht, ob du die Geburtstage wieder den Namen zuordnen wirst. Falls ja, ohne meinen Kniff, gibts Fehler.
2) "Never touch a running Formula". Wenns so klappt wies ist und schnell genug berechntet wird, lass es so! Besser eine Formel von dir die du verstehst, als eine "elegante" Formel mit der du nichts anfangen kannst.
Trotzdem meine Verkürzungstips:
Deine Formel in L2:
=IF(F2="";"";IF(COUNT(J$2:J2)>30;LARGE(J$2:J2;30);MIN(F$2:F2)))
mich erstaunt das "LARGE" (KGROESSTE) in deiner Formel. Sollte das nicht das KKLEINSTE sein? Dann verküze ich auf:
=IF(F2="";"";SMALL(J$2:J2;IF(ROW(A2)>30;30;1)))
Erklärung: ROW(A2) macht beim runterkopieren das gleiche wie COUNT(J$2:J2), hat aber ein paar Zeichen weniger und ist auch performanter (ab ner Millionen Formeln fällt sowas dann ins Gewicht ...)
KKLEINSTE(Bereich,1) ist identisch mit MIN(Bereich). Drum kürze ich deinen "Sonst-Min" Teil, indem ich die Variable (30t-klein oder 1-klein) per IF direkt in der KKLEINSTE Formel unterbringe.
Wenn du allerdings eingangs den Fehler gemacht hast und hier wirklich KGROESSTE brauchst, dann bringt meine Verkürzung allerdings nichts.
Deine Formel in M2:
=IF(F2="";"";IF(J2="";IF(RANK(F2;K$2:K2;0) ist gut so. Könnte man mit OFFSET (BEREICH.VERSCHIEBEN) auf etwa die Hälfte der Länge zusammen fassen, aber kürzer ist nicht immer besser. Tatsächlich sollte man auf die unperformante OFFSET Formel eh verzichten.
Grüße,
Klaus M.vdT.

Anzeige
AW: Ausgabe des Geburtsdatums der 30. jüngsten Person
06.11.2012 09:20:44
Christian
Hallo Klaus,
erstmal vielen Dank nochmal. Kalenderdaten sind doch Zahlen, die aufsteigend gezählt werden, also hat doch die jüngste Person den größten Wert, daher KGRÖSSTE, oder täusche ich mich da?
Irgendwie blicke ich bei dem Verketten immer noch nicht ganz durch. Wenn ich einen Text und eine Zahl miteinander verkette ist das Ergebnis doch ein Text oder? Aber das KGRÖSSTE macht doch nur Sinn, wenn es sich auf eine Zahl bezieht, oder?
Aber so wie es jetzt ist, scheint es ja zu funktionieren. Ich belasse es dann erstmal dabei.
Vielen Dank nochmal
Christian

AW: Ausgabe des Geburtsdatums der 30. jüngsten Person
06.11.2012 09:35:48
Klaus
Hi,
Kalenderdaten sind doch Zahlen, die aufsteigend gezählt werden, also hat doch die jüngste Person den größten Wert, daher KGRÖSSTE, oder täusche ich mich da?
*self-facepalm* Ja, du hast recht. Mein Gehirn hat nur den kausalen Zusammenhang zwischen "Jung" und "Klein" gesehen, aber hier ist das natürlich andersrum.
Irgendwie blicke ich bei dem Verketten immer noch nicht ganz durch. Wenn ich einen Text und eine Zahl miteinander verkette ist das Ergebnis doch ein Text oder? Aber das KGRÖSSTE macht doch nur Sinn, wenn es sich auf eine Zahl bezieht, oder?
Richtig. Darum beziehe ich in meiner Beispielformel das COUNTIF auf den Bereich mit dem verketteten Text, das KKLEINSTE (das kgroesste sein muss) aber auf den Bereich mit den Datümern.
Grüße,
Klaus M.vdT.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige