Excel-Formel?

Dommie1306  19.02.2024, 10:04

Mit VBA oder eine reine Formel?

Puschellevi 
Beitragsersteller
 19.02.2024, 10:26

reine Formel wäre notwendig

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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"))


Puschellevi 
Beitragsersteller
 19.02.2024, 10:58

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

1
Dommie1306  19.02.2024, 11:21
@Puschellevi

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...

0
Dommie1306  19.02.2024, 11:26
@Puschellevi

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"))

1
=WENN(B2="W";WENN(UND(DATEDIF(B1;$E$3;"y")>$E$1;DATEDIF(B1;$E$3;"y")>$E$1);DATEDIF(B1;$E$3;"y");"");"---")

Bild zum Beitrag

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.

 - (Microsoft, Formel, Microsoft Excel)

Puschellevi 
Beitragsersteller
 19.02.2024, 11:07

Bei der Formel habe ich jedoch ein Problem: Wenn eine Person in den Zeitraum fällt - kommt die Ausgabe "'NAME?"

0
Krabat693  19.02.2024, 11:36
@Puschellevi

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.

2
Puschellevi 
Beitragsersteller
 19.02.2024, 10:56

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*

0
Krabat693  19.02.2024, 10:59
@Puschellevi

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.

1
Dommie1306  19.02.2024, 10:53

Ich find meine Lösung eleganter :D

0
Krabat693  19.02.2024, 11:00
@Dommie1306

Deine Lösung ignoriert aber die halbe Frage, nämlich die Prüfung ob das Alter zwischen 12 und 55 liegt.

1
Dommie1306  19.02.2024, 11:30
@Krabat693

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 :)

1
Krabat693  19.02.2024, 11:39
@Dommie1306

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.

1
Dommie1306  19.02.2024, 11:40
@Krabat693

Jo, ist schön übersichtlich :)

Aber für heute() seh ich keinen Mehrwert - aber ist reine Geschmackssache ;-)

1
Krabat693  19.02.2024, 11:45
@Dommie1306

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.

1
Krabat693  19.02.2024, 11:50
@Dommie1306

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.

1
Krabat693  19.02.2024, 12:05
@Dommie1306

Je schlimmer die Formel eskaliert, desto dankbarer ist man für Hilfsspalten, Zwischenergebnisse und separate variablen 😁

1

z.B. so

=WENN(B2="w";UND((JAHR(E$3)-JAHR(B1)>E$1);(JAHR(E$3)-JAHR(B1)<E$2));"---")

Bild zum Beitrag

 - (Microsoft, Formel, Microsoft Excel)