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

Dagenreeks maken

Status
Niet open voor verdere reacties.

Pascal321

Gebruiker
Lid geworden
5 aug 2017
Berichten
195
Ik heb een sportclub en er zijn trainingen op maandag, woensdag, donderdag en zondag (om de 14 dagen!).
Ik wil per maand een lijst aanmaken van de dagen dat er training is.
Ik wil dus bijv voor deze maand september dit overzicht:

donderdag 2 september
maandag 6 september
woensdag 8 september
donderdag 9 september
zondag 12 september
maandag 13 september
woensdag 15 september
donderdag 16 september
maandag 20 september
woensdag 22 september
donderdag 23 september
zondag 26 september
maandag 27 september
woensdag 29 september
donderdag 30 september


Maar welke formule moet ik hanteren opdat ik niet steeds handmatig de data moet invoeren?
Ik zit in de knoop vooral met die zondag die maar om de 14 dagen is. :confused:
 
zie bijlage, A4
 

Bijlagen

  • Pascal123.xlsx
    8,9 KB · Weergaven: 39
@ Haije: de zondag om de 14 dagen wordt toch niet opgenomen in jouw formule? :confused:
 
Gebruik dan deze matrix-formule:

PHP:
=SMALL(IF(NOT(ISERR(FIND(WEEKDAY(DATE(2021;9;ROW($1:$365));2);"134")))+(WEEKDAY(DATE(2021;9;ROW($1:$365));2)=7)*ISODD(WEEKNUM(DATE(2021;9;ROW($1:$365));21));DATE(2021;9;ROW($1:$365)));ROW($A1))

of deze:
PHP:
=SMALL(IF(NOT(ISERR(FIND(WEEKDAY(DATE(2021;9;ROW($1:$365)))&N(ISODD(WEEKNUM(DATE(2021;9;ROW($1:$365)))));"20214041505111")));DATE(2021;9;ROW($1:$365)));ROW($A1))
 
Laatst bewerkt:
Code:
=kleinste(als(niet(isfout2(vind.alles(weekdag(datum(2021;9;rij($1:$365));2);"134")))+(weekdag(datum(2021;9;rij($1:$365));2)=7)*is.oneven(weeknummer(datum(2021;9;rij($1:$365));21));datum(2021;9;rij($1:$365)));rij($a1)
Code:
=kleinste(als(niet(isfout2(vind.alles(weekdag(datum(2021;9;rij($1:$365)))&n(is.oneven(weeknummer(datum(2021;9;rij($1:$365)))));"20214041505111")));datum(2021;9;rij($1:$365)));rij($a1)
 
We zijn er bijna! :eek: Want in jouw formule wordt de eerste zondag van de maand (zondag 5 september) meegeteld maar zondag 12 september is het pas voor de 1ste keer training.
Kan je dit nog eens aanpassen aub? :eek:
 
Ah, heb het al gevonden! Gewoon ONEVEN veranderen in EVEN :cool:

Bedankt voor de formule! :thumb:
 
De formule's uit bericht #6 is de nederlandse vertaling van de formules van snb in bericht#4, ik heb ze niet gecontroleerd.
Heb je ze ingevoerd als matrix formule? CTRL+SHIFT+ENTER?
 
@ alphamax: heb ik nu gedaan. Maar...ik zie geen verschil toen ik die toetsencombinatie nog niet gedaan had. Waarom is dat eigenlijk nodig?
 
De puntkomma;s vervangen door komma's.
De aanhalingstekens vervangen door dubble aanhalingsteken.
Dan:

Code:
Sub M_snb()
  Sheet1.Cells(1) = "=SMALL(IF(NOT(ISERR(FIND(WEEKDAY(DATE(2021,9,ROW($1:$365)),2),""134"")))+(WEEKDAY(DATE(2021,9,ROW($1:$365)),2)=7)*ISODD(WEEKNUM(DATE(2021,9,ROW($1:$365)),21)),DATE(2021,9,ROW($1:$365))),ROW($A1))"
End Sub

en nog 2 alternatieven:

PHP:
=SMALL(IF(NOT(ISERR(FIND(WEEKDAY(DATE(2021;9;ROW($1:$365)))&N(ISODD(WEEKNUM(DATE(2021;9;ROW($1:$365)))));"20214041505111")));DATE(2021;9;ROW($1:$365)));ROW($A1))
en uitgaande van vandaag:

PHP:
=SMALL(IF(NOT(ISERR(FIND(WEEKDAY(TODAY()+ROW($1:$365))&N(ISODD(WEEKNUM(TODAY()+ROW($1:$365))));"20214041505111")));TODAY()+ROW($1:$365));ROW($A1))
 
Laatst bewerkt:
Laatst bewerkt:
in Excel2019 en Excel365 weet excel zelf al dat het een matrixformule betreft en hoef je die inspanning CTRL+Shift+ENTER niet meer te doen.
 
@ alphamax: Hoe moet ik jouw onderstaande code gebruiken als ik een nieuwe maand in een nieuwe tabel wil starten? Met de vulgreep kan blijkbaar niet want die code invullen op de eerste dag van de maand lukt blijkbaar niet. Of doe ik iets verkeerd? :confused:

=kleinste(als(niet(isfout2(vind.alles(weekdag(datum(2021;9;rij($1:$365));2);"134")))+(weekdag(datum(2021;9;rij($1:$365));2)=7)*is.oneven(weeknummer(datum(2021;9;rij($1:$365));21));datum(2021;9;rij($1:$365)));rij($a1)

Alle maanden van het jaar staan op 1 werkblad en elke maand staat in een nieuwe tabel. Zie bijlage.
 

Bijlagen

  • test.xlsx
    12,8 KB · Weergaven: 25
Laatst bewerkt:
is toch gewoon de formule een beetje aanpassen?
 

Bijlagen

  • test (40).xlsx
    14,2 KB · Weergaven: 21
pascal, bij mij doet wo 1 sep 2021 ook mee. is dat fout?
 

Bijlagen

  • mijnMaandDagen svp .xlsm
    17 KB · Weergaven: 16
@ VeNa: de maanden had ik idd gewijzigd maar de staart van de code was om onduidelijke reden bij mij ook veranderd. :confused: De ...rij($a1) was bij het kopiëren naar de eerste cel van een nieuwe maand veranderd in ...rij($a12). :confused: Daar zat blijkbaar de fout.

@ sylvester-ponte: woe 1 sept. doet mee, maar bij jou staan alle data in 1 cel wat niet echt de bedoeling is. ;)
 
ok, zo kun je kiezen:
 

Bijlagen

  • mijnMaandDagen svp met optie matrix.xlsm
    17,9 KB · Weergaven: 37
Kan er mij iemand helpen om de formule van vorig jaar (2021) aan te passen voor januari 2022?
Het zijn de zondagen die ik niet goed krijg. Zondag 16 januari en zondag 30 januari moeten opgenomen worden door de formule (de andere zondagen niet) en hij doet juist het omgekeerde.

=KLEINSTE(ALS(NIET(ISFOUT2(VIND.ALLES(WEEKDAG(DATUM(2021;9;RIJ($1:$201));2);"134")))+(WEEKDAG(DATUM(2021;9;RIJ($1:$201));2)=7)*IS.EVEN(WEEKNUMMER(DATUM(2021;9;RIJ($1:$201));21));DATUM(2021;9;RIJ($1:$201)));RIJ($A1))

De formule moet dus volgende dagenlijst weergeven:
maandag 3 januari
woensdag 5 januari
donderdag 6 januari
maandag 10 januari
woensdag 12 januari
donderdag 13 januari
zondag 16 januari
maandag 17 januari
woensdag 19 januari
donderdag 20 januari
maandag 24 januari
woensdag 26 januari
donderdag 27 januari
zondag 30 januari
maandag 31 januari
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan