0

Wochenenden Zählen (Anzahl Feld)

Hallo,

Ich habe eine Mitarbeiter Abwesenheitstabelle dort steht immer das Datum Erster Tag und Datum letzter Tag. Gibt es eine Möglichkeit zu Zählen(Anzahl) in ein extra Feld wieviele Samstage und Sonntage (Wochenenden) zwischen diesen Abwesenheiten liegen.  

 

Vielen Dank für die Hilfe.

Grüße 

7 Antworten

null
    • m2apla gmbh
    • Etienne_Scherrer
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Marcel

    let startDate := 'Datum Erster Tag';
    let endDate := 'Datum letzter Tag';
    let currentDate := startDate;
    let weekendCount := 0;
    while currentDate <= endDate do
        if weekday(currentDate) > 4 then
            weekendCount := weekendCount + 1
        end;
        currentDate := currentDate + 1
    end;
    weekendCount

    Etwa so etwas in einem Funktionsfeld sollte dir die Anzahl von Wochenenden ausgeben.

    Das ganze nutzt die Funktion weekday (https://docs.ninox.com/de/skripten/funktionen-ueberblick/funktionen/weekday). Diese Funktion nimmt als Parameter ein Datum und gibt als Resultat die Nummer des Wochentages zurück. Alle Tage mit einer Nummer über 4 sind Wochenenden (Samstag = 5, Sonntag = 6).

      • IT
      • office.6
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Etienne Scherrer ist es möglich das egal welche Tag am Wochenende es ist es nur +1 gibt das heißt Samstag +1 oder Sonntag +1 oder Samstag und Sonntag +1 nicht Samstag und Sonntag +2 

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Es geht auch indirekt mit workdays(). Mirko

    let Anfang := 'Datum Erster Tag';
    let Ende := 'Datum Letzter Tag';
    days(Anfang, Ende) + 1 - workdays(Anfang, Ende)
    
      • IT
      • office.6
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko gleich frage auch an dich :) ist es möglich das egal welche Tag am Wochenende es ist es nur +1 gibt das heißt Samstag +1 oder Sonntag +1 oder Samstag und Sonntag +1 nicht Samstag und Sonntag +2 danke euch 

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Marcel Versuch mal so

      let Anfang := 'Datum Erster Tag';
      let Ende := 'Datum Letzter Tag';
      let allDays := days(Anfang, Ende) + 1;
      cnt(unique(for i in range(0, allDays) do
                  let iDay := date(year(Anfang), month(Anfang), day(Anfang) + i);
                  if weekday(iDay) = 5 or weekday(iDay) = 6 then
                      yearweek(iDay)
                  end
              end))
      
      • IT
      • office.6
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko Vielen Dank :D 

    • IT
    • office.6
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Vielen Dank für eure Hilfe 😊

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 7Antworten
  • 70Ansichten
  • 3 Folge bereits