Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Runder Geburtstag über Funktion ermitteln

Runder Geburtstag über Funktion ermitteln
07.12.2018 16:03:34
Blangmantl
Wie kann ich in einer Tabelle mit einer VBA Funktion in einer Spalte ausrechnen, ob einer einen runden Geburtstag hat oder nicht, wenn er einen runden Geburtstag hat, soll die Anzahl der Jahre angezeigt werden, sonst nix hier ein Beispiel
Mitgliederliste

 ABCDEFGHIJKLMNOPQRSTU
7Lfd.-NummerMitgliedsnummerAnredeNachnameVornameStraßePLZStadtFestnetz 1Festnetz 2TelefaxMobilE-Mail-AdresseEmpfängerkreisGeburtsdatumGeburtstagslisteRunde GeburtstageVereinseintrittVereinsaustritt
oder Todesfall
AustrittsgrundAlter
81FR-0001HerrnMustermannMax         12.05.192812.0590 J   90 J

Formeln der Tabelle
ZelleFormel
A8=WENN($D8="";"";AGGREGAT(3;6;$D$8:D8))
P8=Geburtstagsliste(O8)
U8=Alter(O8;S8;T8)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Das Geburtsdatum und die Geburtstagslisten werden bereits über Funktionen ausgerechnet,
Function Alter(Geburtsdatum As Date, Sterbedatum As Date, Austrittsgrund As String) As Byte Select Case Austrittsgrund Case Is = "Tod" If IsEmpty(Sterbedatum) Or Sterbedatum = 0 Then Exit Function Else Alter = Year(Sterbedatum) - Year(Geburtsdatum) End If Case Else If IsEmpty(Geburtsdatum) Or Geburtsdatum = 0 Then Alter = 0 Else Alter = Year(Date) - Year(Geburtsdatum) If DateSerial(Year(Date), Month(Geburtsdatum), Day(Geburtsdatum)) > Date Then Alter = Alter - 1 End If End If End Select End Function

Function Geburtstagsliste(Geburtsdatum As Date) As Date
If IsEmpty(Geburtsdatum) Or Geburtsdatum = 0 Then
Geburtstagsliste = 0
Else
Geburtstagsliste = DateSerial(Year(Date), Month(Geburtsdatum), Day(Geburtsdatum))
End If
End Function

Ich komme da nicht weiter, wer kann mir bei der Berechnung der Runden Geburtstage helfen?
Danke und Gruß
Benedikt
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 16:13:16
Hajo_Zi
Haöllo Benedikt,

Tabelle1
 OP
212.05.192890
323.05.1947 

verwendete Formeln
Zelle Formel Bereich N/A
P2: P3=WENN(REST(JAHR(HEUTE())-JAHR(O2);10)=0;JAHR(HEUTE())-JAHR(O2);"")  

Zahlenformate
Zelle Format Inhalt
O2 'TT.MM.JJJJ  10360
O3 'TT.MM.JJJJ  17310
Zellen mit Format Standard werden nicht dargestellt
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.15 einschl. 64 Bit



Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 16:40:47
BLangmantl
Hallo HaJo Danke für deine Hilfe, da du es mit einer Wenn dann Formel löst gehe ich davon aus, dass man das dann nicht über eine VBA Funktion lösen kann.
Danke du hast mir damit geholfen
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 16:40:48
BLangmantl
Hallo HaJo Danke für deine Hilfe, da du es mit einer Wenn dann Formel löst gehe ich davon aus, dass man das dann nicht über eine VBA Funktion lösen kann.
Danke du hast mir damit geholfen
Anzeige
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 16:40:51
BLangmantl
Hallo HaJo Danke für deine Hilfe, da du es mit einer Wenn dann Formel löst gehe ich davon aus, dass man das dann nicht über eine VBA Funktion lösen kann.
Danke du hast mir damit geholfen
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 17:07:56
Daniel
Hi
Da VBA deutlich mächtiger ist als Formeln, kann man immer alles, was per Formel lösbar ist, auch per VBA lösen.
Man verwendet VBA immer dann, wenn die Aufgabe mit Formel nicht oder nur sehr umständlich lösbar ist.
Gruß Daniel
Anzeige
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 17:14:31
BLangmantl
Danke für die Antwort
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 17:23:15
BLangmantl
Lieber HaJo Danke für deine Formel, werde es so umsetzen. Danke für deine Hilfe
AW: Runder Geburtstag über Funktion ermitteln
07.12.2018 23:37:32
BLangmantl
Hallo HaJo Danke für deine Hilfe, da du es mit einer Wenn dann Formel löst gehe ich davon aus, dass man das dann nicht über eine VBA Funktion lösen kann.
Danke du hast mir damit geholfen
Anzeige
AW: Runder Geburtstag über Funktion ermitteln
08.12.2018 00:02:24
ChrisL
Da die Frage als offen gekennzeichnet wurde, hier die Übersetzung von Hajo's Formel
ungetestet:
Function RunderGeburi(rng As Range) As Integer
If Mod(Year(Now)-Year(rng), 10) = 0 Then RunderGeburi = Year(Now)-Year(rng)
End Function
Ich würde allerdings auch die "normale" Formel verwenden.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Runden Geburtstag in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um in Excel runde Geburtstage hervorzuheben oder zu ermitteln, kannst du die folgende Formel verwenden. Diese Formel prüft, ob das aktuelle Jahr einen runden Geburtstag darstellt:

  1. Öffne deine Excel-Datei.

  2. Gehe zu der Zelle, in der du die Berechnung durchführen möchtest.

  3. Gib die folgende Formel ein:

    =WENN(REST(JAHR(HEUTE()) - JAHR(A1); 10) = 0; JAHR(HEUTE()) - JAHR(A1); "")

    Ersetze A1 durch die Zelle, die das Geburtsdatum enthält.

  4. Drücke Enter. Die Zelle zeigt nun die Anzahl der Jahre an, wenn es sich um einen runden Geburtstag handelt.


Häufige Fehler und Lösungen

  • Fehler: Die Formel gibt ein leeres Ergebnis zurück.

    • Lösung: Überprüfe, ob das Geburtsdatum korrekt formatiert ist. Es sollte im Datumsformat vorliegen.
  • Fehler: Excel zeigt #WERT! an.

    • Lösung: Stelle sicher, dass in der Zelle A1 ein gültiges Datum steht.
  • Fehler: Die Berechnung berücksichtigt nicht das aktuelle Jahr.

    • Lösung: Achte darauf, dass du die Formel im aktuellen Jahr verwendest. Mit JAHR(HEUTE()) wird das aktuelle Jahr automatisch ermittelt.

Alternative Methoden

Neben der Verwendung von Formeln kannst du auch VBA nutzen, um runde Geburtstage zu ermitteln. Hier ist ein einfaches Beispiel für eine VBA-Funktion:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu.

  3. Gib den folgenden Code ein:

    Function RunderGeburi(rng As Range) As Integer
       If Mod(Year(Now) - Year(rng), 10) = 0 Then
           RunderGeburi = Year(Now) - Year(rng)
       End If
    End Function
  4. Speichere und schließe den VBA-Editor.

  5. Verwende die Funktion in deiner Excel-Tabelle wie folgt:

    =RunderGeburi(A1)

Praktische Beispiele

  • Beispiel 1: Geburtsdatum in A1: 12.05.1928.

    • Ergebnis in der Zelle mit der Formel: 90 (wenn das aktuelle Jahr 2018 ist).
  • Beispiel 2: Geburtsdatum in A2: 23.05.1947.

    • Ergebnis in der Zelle mit der Formel: 70 (wenn das aktuelle Jahr 2017 ist).

Mit diesen Beispielen kannst du leicht die runden Geburtstage in deiner Excel-Geburtstagsliste ermitteln.


Tipps für Profis

  • Um die Excel-Geburtstagsliste optisch ansprechender zu gestalten, kannst du bedingte Formatierungen verwenden, um runde Geburtstage hervorzuheben.

  • Erstelle eine separate Spalte, um den nächsten Geburtstag zu berechnen. Verwende dazu die Formel:

    =DATUM(JAHR(HEUTE()) + WENN(DATUM(JAHR(HEUTE()), MONAT(A1), TAG(A1)) < HEUTE(); 1; 0); MONAT(A1); TAG(A1))
  • Wenn du das Geburtsdatum aus dem Sterbedatum berechnen möchtest, kannst du das Alter mit einer angepassten Formel in VBA berechnen.


FAQ: Häufige Fragen

1. Wie kann ich runde Geburtstage in Excel hervorheben?
Verwende die bedingte Formatierung, um die Zellen mit runden Geburtstagen farblich hervorzuheben. Gehe zu „Start“ > „Bedingte Formatierung“ und erstelle eine Regel basierend auf der Formel.

2. Kann ich den nächsten Geburtstag automatisch berechnen?
Ja, du kannst die oben genannte Formel verwenden, um den nächsten Geburtstag basierend auf dem aktuellen Datum zu berechnen.

3. Ist es möglich, runde Geburtstage in einer VBA-Funktion zu ermitteln?
Ja, du kannst die bereitgestellte VBA-Funktion verwenden, um runde Geburtstage zu ermitteln. VBA bietet mehr Flexibilität als Standardformeln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige