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

Zelfde dag in het verleden opzoen

Status
Niet open voor verdere reacties.

NIh1IlO

Gebruiker
Lid geworden
4 feb 2003
Berichten
759
Beste specialisten,

Ik zoek de formule waardoor voor een datum (vb zondag 10 september), specifiek de dag dddd dan, kan gelokaliseerd worden in het verleden (het jaar jjjj).

Ik ben benieuwd naar de 'truc'.

Met best dank op voorhand voor het meedenken en hopelijk het aanleveren van de oplossing,

nIh1IlO
 
Met 10-09-2017 in A1:
Code:
=TEKST(ZELFDE.DAG(A1;-12);"dddd")
 
Laatst bewerkt:
@edmoor
die formule geeft als antwoord "zondag", klopt natuurlijk maar =a1 opmaak dddd geeft hetzelfde resultaat.
Ik denk dat nIh1IlO op zoek is naar het jaar waarin 10 september ook een zondag is en dit is 10/09/2006

Hoe je dat berekent ????
 
Met een formule zou ik dat zo ook niet weten. Met een stukje VBA is dat natuurlijk simpel en dat kan je dan weer als formule gebruiken.
Je kan er wel makkelijk een lijstje van maken:
Code:
=TEKST(ZELFDE.DAG($A$1;-RIJ()*12);"dddd, jjjj")

De formule in #2 geeft overigens zaterdag terug.
 
Laatst bewerkt:
Met een UDF lukt dat vrij aardig:
Code:
Public Function bepdag(c As Range)
i = 1
 While WorksheetFunction.Weekday(zoekdatum) <> WorksheetFunction.Weekday(c)
  zoekdatum = DateSerial(Year(c) - i, Month(c), Day(c))
   i = i + 1
 Wend
bepdag = zoekdatum
End Function
 

Bijlagen

Beste meedenkers,

Ik heb geprobeerd het bestand te kopiëren en te plakken in een ander tabblad van een bestaand bestandje. Ik heb de overige tabbladen verwijderd maar ik krijg een foutmelding in cel C1.

Hoe is dit te verklaren en wat deed ik verkeerd.

Overigens doet de VBA functie het uitstekend en beantwoordt 100% aan de vraag.
Hopelijk kan een bijkomend woordje uitleg volstaan om het euvel de baas te kunnen.
Ik voeg mijn bestandje in bijlage.

Vriendelijke dank
nIh1IlOBekijk bijlage zelfdedagzoeken_mij.xlsb
 
De functie bepdag heeft dezelfde naam als een verwijderde range op Blad2.
Verwijder die naam dus met Namen beheren (CTRL-F3)

Overigens kan de functie nog een stukje eenvoudiger:
Code:
Public Function bepdag(c As Range)
    i = 1
    While WorksheetFunction.Weekday(bepdag) <> WorksheetFunction.Weekday(c)
        bepdag = DateSerial(Year(c) - i, Month(c), Day(c))
        i = i + 1
    Wend
End Function
 
Laatst bewerkt:
Zie mijn eerste opmerking in #7. Dat is de oorzaak.
 
Matrixforumule:

Code:
=MAX(IF(WEEKDAY(DATE(YEAR(A5)-ROW(1:50);MONTH(A5);DAY(A5)))=WEEKDAY(A5);DATE(YEAR(A5)-ROW(1:50);MONTH(A5);DAY(A5));0))

zorg voor numberformat 'Date'
 
Mooie :thumb:

Voor het gemak van TS de NL versie:
Code:
=MAX(ALS(WEEKDAG(DATUM(JAAR(A1)-RIJ(1:50);MAAND(A1);DAG(A1)))=WEEKDAG(A1);DATUM(JAAR(A1)-RIJ(1:50);MAAND(A1);DAG(A1));0))

Na invoeren dus afsluiten met CTRL-SHIFT-Enter
 
:thumb:

Beste meedenkers allemaal,

Grandioos! Super! Vraag perfect en voorbeeldig beantwoord.

Een dikke dankuwel voor de geboden service! :thumb::thumb::thumb:
nIh1IlO
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan