• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

aanwezigheid berekenen van een vaste periode

Status
Niet open voor verdere reacties.

NiekvanMeer

Gebruiker
Lid geworden
30 sep 2013
Berichten
123
Beste lezers,

Al een tijdje ben ik op zoek naar een handige manier om de aanwezigheid van een bepaalde groep mensen bij te kunnen houden.

Allereerst:
Nu doe ik dat, zoals in de bijlage te zien is, door elke keer van eenieder een '1' bij de desbetreffende datum te zetten wanneer men aanwezig is en een '0' bij afwezigheid.
Van iedereen wordt van de laatste 26 donderdagen (half jaar) een percentage hierover berekend.
Telkens wanneer men op de nieuwe donderdag 'aanwezig' (1) is, dan haal ik de eerste '0' in het rijtje van de persoon weg en bereken ik weer het nieuwe percentage over de laatste 26 donderdagen.

Een voorbeeldje:
Aankomende donderdag 5-5-22 is persoon 1 aanwezig; ik zet een 1 bij deze persoon bij de datum 5-5-22.
Vervolgens verwijder ik van persoon 1 de eerste '0' in het rijtje; voor persoon 1 is dat 2-12-21.
Het oude percentage bij deze persoon was 81%, door de formule =SOM(C6:AB6)/26
Nu bereken ik een nieuw percentage over de laatste 26 donderdagen; Dit wordt nu 85% met de formule =SOM(D6:AC6)/26

Zoals je zult begrijpen is dit voor 1 persoon nog te doen; voor een veelvoud personen is het nogal omslachtig.

Hopelijk kan iemand mij helpen met deze omslachtige methode :)
Vast bedankt!

Groeten,
Niek
 

Bijlagen

  • Aanwezigheid.xlsx
    11,8 KB · Weergaven: 19
Niek, en als je een 0 toevoegt? doe je dan ook iets speciaals?
het moet wel met vba is dat een probleem?
 
Laatst bewerkt:
Hoi Sylvester,

Als ik een '0' toevoeg dan blijft het percentage hetgeen van de laatste 26 donderdagen. Hierbij wordt er dus geen 0 vervangen zoals benoemd in het voorbeeld.
In VBA is zeker geen probleem, al ben ik hier zelf helaas een leek in :confused:

Bedankt voor je respons!
 
zoiets?
 

Bijlagen

  • Aanwezigheid.xlsm
    23,9 KB · Weergaven: 25
Hoi Emields,

Bedankt voor je respons!
Het werkt bijna :)
Als ik nu een '1' of '0' invul in de laatste kolom, dan veranderd de formule van het berekende percentage.
Als ik bijvoorbeeld een nieuwe kolom invul dan wordt de formule =SOM($C6:$AB6)/26 veranderd naar =SOM($C6:$AA6)/26

Bedankt voor je moeite!
 
Hoi Emields,

Ik zie ook dat wanneer ik een '1' in de nieuwe kolom invoer, de eerste '0' in de rij niet vervangen wordt.
Deze zou ik nu alsnog zelf moeten wijzigen per persoon.
 
Als je zelf de 0 gaat vervangen door "niets" dan kun je deze formule gebruiken wanneer je office 365 hebt

Code:
=GEMIDDELDE(INDEX(C6:ZZ6;REEKS(26;;X.VERGELIJKEN(1;--(C6:ZZ6<>"");0;-1);-1)))

Of voor oudere versies (matrix, afsluiten met ctrl+shft+enter)

Code:
=GEMIDDELDE(VERSCHUIVING($B$6;0;ZOEKEN(2;1/(C6:ZZ6<>"");KOLOM(C6:ZZ6)-2);;-26))
 
Laatst bewerkt:
Hoi JEC,

De 0 moet blijven staan in het geval er een 0 in de nieuwe kolom toegevoegd wordt; wanneer er een 1 toegevoegd wordt in de nieuwe kolom, dan moet de eerste 0 in de rij ook een 1 worden.

Het issue is namelijk dat bij het toevoegen van een 1 in de nieuwe kolom, en er een 1 verdwijnt uit de eerste kolom, het percentage niet wijzigt.
Zodoende dat de eerste 0 in de rij dus een 1 moet worden :)
 
Laatst bewerkt:
Als je het handmatig doet, werkt de formule.
 
Zeker! :)
Het is helaas alleen een lange lijst van personen die ik dan handmatig aan moet passen :(
 
De gewerkte donderdagen zijn nergens uit een systeem te trekken? Dit zou je liever in tabelvorm zien. Dan kun je simpel rekenen. Je hebt eigenlijk al genoeg aan alleen de vrije donderdagen.
Deze opzet is niet handig om mee te rekenen;)
 
Laatst bewerkt:
Haha, je hebt helemaal gelijk, maar nee helaas.
Het gaat overigens over het registreren van de aanwezigheid van een groep mensen die op basis van een bepaald percentage, wel/niet mee kunnen naar een activiteit.
 
Niek, ik vraag mij af, de 0 die verwijderd moet worden, moet dat de eerste 0 zijn uit de laatste 26 weken of mag het ook een 0 daar voor zijn ?
welke excel gebruik je ?
 
Laatst bewerkt:
Dat zou nu anders moeten zijn.
 

Bijlagen

  • Aanwezigheid.xlsm
    23,7 KB · Weergaven: 18
Zet in B6:

Code:
=SUM(OFFSET(C6;0;MAX(COUNTA(C6:BZ6)-26;0);1;26))/26

trek door naar beneden

In de kolommen van de dagen hoef je alleen een 1 of 0 in te vullen. En nooit een 0 verwijderen.
Verder hoef je niets aan de tabel te wijzigen.

Deze formule berekent het aanwezigheidspercentage van de laatste 26 weken.
 
Laatst bewerkt:
Niek, wat een vreemde manier van aanwezigheid verwerken.
als de eerste 10 weken niet komt en dan 10 weken wel dan zit je op 100 % aanwezigheid.
en als je de eerste 10 weken wel komt en de daarna 10 weken niet dan zit je op 50 % aanwezigheid.
is dat echt wat je bedoelt?
 
Laatst bewerkt:
Hoi allemaal,

@Sylvester: ja klopt, dat heeft te maken met het feit dat de laatste weken belangrijker zijn; om geheel up-to-date te zijn. Helaas moet hierdoor dus ook de eerste 0 verwijderd worden... :(
@snb: als ik je formule gebruik, dan werkt deze niet meer als er een nieuwe datum aangemaakt wordt, omdat deze formule mee veranderd doordat er telkens een kolom verwijderd wordt.

Bedankt voor het helpen allemaal :D
 
Niek, ik zou een gewogen gemiddelde nemen , dan tellen de aanwezigheden steeds minder mee als ze langer geleden zijn.
 
Klinkt als een wijs plan! :) Ik zal eens kijken hoe ik dit in het vat kan gieten
 
Ik dacht in dezelfde richting als snb :D
Maar toch een beetje anders........
 

Bijlagen

  • Aanwezigheid.xlsx
    29,8 KB · Weergaven: 15
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan