Excel-Formel?
Hallo liebe Community,
ich bräuchte eure Hilfe zu einer Excel-Formel
Ich würde folgende Lösung benötigen:
Geburtsdatum: 28.04.1999
Geschlecht: m oder w
Alter zwischen 12 und 55
Ausgabe: ja oder nein
Excel soll anhand des Geburtsdatums das aktuelle Alter auf Grund des heutigen Datums ausrechnen. Wenn das Geschlecht männlich ist, soll „---“ ausgegeben und die Berechnung beendet werden. Wenn es „weiblich“ ist soll eine Ausgabe nur im Alter zwischen 12 und 55 Jahren erfolgen und das Alter angeführt werden.
Gibt es hierfür eine Möglichkeit? Wenn ja, bitte um Anführung der Formel.
Vielen herzlichen Dank
Mit VBA oder eine reine Formel?
reine Formel wäre notwendig
3 Antworten
Also ohne VBA müsstest du ja erstmal die Prüfung machen.
Sagen wir in a2 steht das Geburtsdatum, in B2 das Geschlecht (weil in 1 die Überschriften stehen)
Dann zunächst prüfen, ob Männlich oder Weiblich, also =WENN(b2="Männlich";"---";
Also wenn Männlich "ja", dann sei ---
Wenn nicht, dann nächste WENN Formel
=DATEDIF(A2; HEUTE(); "Y")
Also zusammen:
=WENN(B1="Männlich";"---";DATEDIF(A1; HEUTE(); "Y"))
Und einfach in eine Hilfsspalte? Er hat ja schon überprüft, ob in g5 "m" ist. Das Alter hast du z.B. in f5. Dann mach einfach noch in g5 =WENN(f5>11;wenn(f5<56);"Ja";"Nein")
Oder muss das zwangsläufig noch mit in die ursprüngliche Formel rein? Denke eine Hilfsspalte wäre hier viel angenehmer...
Das hier wäre in einer Formel:
=WENN(B1="Männlich";"---";WENN(UND(DATEDIF(A1;HEUTE();"Y")>11;(DATEDIF(A1;HEUTE();"Y")<56));"Ja";"Nein"))
Dir wird dann aber so das Alter nicht mehr ausgegeben, sondern wirklich nur noch "ja" und "nein"
Oder mit Variablen für die Altersgrenzen:
=WENN(B1="Männlich";"---";WENN(UND(DATEDIF(A1;HEUTE();"Y")>[Feld mit der Untergrenze, z.B. e1];(DATEDIF(A1;HEUTE();"Y")<[Feld mit der Obergrenze, z.B. f1]));"Ja";"Nein"))
=WENN(B2="W";WENN(UND(DATEDIF(B1;$E$3;"y")>$E$1;DATEDIF(B1;$E$3;"y")>$E$1);DATEDIF(B1;$E$3;"y");"");"---")
Das erste Wenn prüft ob weiblich, wenn nein wird --- ein ja geht es mit einer zweiten Wenn Prüfung weiter.
Im zweiten wenn wird erstmal mit einer und Verknüpfung geprüft ob das aktuelle Alter über den min. Alter und unter dem max Alter liegt, wenn ja wird dass über DATEDIF ermittelte Alter in Jahren ausgegeben, sonst wird einfach nichts ausgegeben.

Bei der Formel habe ich jedoch ein Problem: Wenn eine Person in den Zeitraum fällt - kommt die Ausgabe "'NAME?"
Kontrolliere doch erstmal ob du dich irgendwo vertippt hast und ob die Zellverweise auf die richtigen Zellen zeigen.
Im Screenshot ist ja zu sehen dass die Formel, so wie ich sie getippt habe prinzipiell funktioniert.
Eine Frage noch dazu - gibt es auch die Möglichkeit, dass man die Unter- und Obergrenze sowie das Tagesdatum nicht separat ausführen muss? Ich würde es, sofern möglich, als eine Formel benötigen *grübel*
Das ist prinzipiell möglich, aber unelegant.
Du kannst anstatt der Zellverweise auch einfach die blanken Zahlen bzw Heute() eintragen. Aber wenn sich zum Beispiel mal die Altersobergrenze ändert musst du dann jede Formel wieder anpassen.
Deine Lösung ignoriert aber die halbe Frage, nämlich die Prüfung ob das Alter zwischen 12 und 55 liegt.
Jup, deine Lösung war die richtige. Statt §E§3 würde ich nur den Befehl "Heute()" verwenden, das hast du im Endeffekt ausgelagert, aber ist ja irrelevant :)
Ja genau, für die Funktion ist es egal ob Heute() ausgelagert oder Teil der Formel ist.
Ich persönlich Handhabe es halt gerne so dass alle variablen in eigenen Zellen stehen.
Jo, ist schön übersichtlich :)
Aber für heute() seh ich keinen Mehrwert - aber ist reine Geschmackssache ;-)
Eben das meine ich ja, es ist einfach deine Eigenart von mir allen variablen ihre eigene Zelle zu geben.
Zum einen kann ich dann die Variablen einfach per Klick der Formel hinzufügen und zum anderen gibt es mir bei der Fehlersuche hübsche farbige Markierungen im zu zeigen welcher Wert wo genutzt wird.
Das hat zwar in der Funktion keinen Mehrwert, aber es ist eben die Art wie ich Excel nutze.
Je nach Komplexität der Formel fange ich auch irgendwann an diese in kleinere Hilfsformeln aufzubrechen. Meist Anhand dessen was ich als sinnvolle Zwischenergebnisse empfinde.
Je schlimmer die Formel eskaliert, desto dankbarer ist man für Hilfsspalten, Zwischenergebnisse und separate variablen 😁
z.B. so
=WENN(B2="w";UND((JAHR(E$3)-JAHR(B1)>E$1);(JAHR(E$3)-JAHR(B1)<E$2));"---")

Diese Prüfung hätte ich bereits wie folgt aufgebaut
=WENN(G5="m";"---";DATEDIF(D5;HEUTE();"Y"))
mir fehlt nur, wie ich es schaffe, dass Excel wenn die Person weiblich ist, mit dem Ergebnis rechnet, ob sie sich zwischen 12 und 55 Jahren befindet und dies dann ausgibt - es würde schon ein Ja oder Nein reichen