Toon posts:

Datum - weekend functie

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag
Ik heb vanuit een externe database koersdata opgehaald van een bepaald aandeel. Deze heb ik middels een .csv bestand ingeladen in Excel. Mijn Excel-sheet is als volgt opgebouwd:

Kolom A - "Datum" - Hierin zijn alle data opgenomen van 2005 tot en met 2016.
Kolom B - "Dag van de week" - Middels "=WEEKDAG(A2;2)" bepalen wat voor dag de datum in kolom A is.
Kolom C - "Open" - Middels "=ALS(OF(B3=1;B3=2;B3=3;B3=4;B3=5);VERT.ZOEKEN(A2;'Koersdata'!A:F;3;ONWAAR);"Weekend")" de openingskoers van dit aandeel op de betreffende datum opzoeken in een ander tabblad.
Kolom D - "Slot" - Middels "=ALS(OF(B3=1;B3=2;B3=3;B3=4;B3=5);VERT.ZOEKEN(A2;'Koersdata'!A:F;6;ONWAAR);"Weekend")" de slotkoers van dit aandeel op de betreffende datum opzoeken in een ander tabblad.
Kolom E - "Dag van de maand" - Middels "=DAG(A2)" bepalen welke dag van de maand de dag in kolom A is.

Nu zou ik (kolom F en eventueel verder) een functie willen toevoegen die het volgende bewerkstelligt:
> Als de 28e een doordeweekse dag is, dan wil ik de slotkoers hebben (de waarde in kolom D).
> Als de 28e geen doordeweekse dag is, maar er nog wel doordeweekse dagen zijn in die maand, dan wil ik de openingskoers hebben van de eerstvolgende doordeweekse dag die maand (de waarde in kolom C).
> Als de 28e geen doordeweekse dag is, en er ook geen doordeweekse dagen meer zijn in die maand, dan wil ik de slotkoers van de laatste doordeweekse dag van die maand hebben (de waarde in kolom D).

Relevante software en hardware die ik gebruik
Office Excel 2010 - windows versie

Wat ik al gevonden of geprobeerd heb
Op basis van mijn huidige kennis e.e.a. geprobeerd;
Gegoogled en diverse fora bekeken;
Beschrijving van alle datum-functies doorgelezen.

Graag zou ik van jullie (de Excel-experts) horen of dit überhaupt mogelijk is.

N.B. Ik heb enige ervaring met Excel, maar kan absoluut niet overweg met VBA.

Alle reacties


Acties:
  • 0 Henk 'm!

  • ajakkes
  • Registratie: Maart 2004
  • Laatst online: 16-05 22:32

ajakkes

👑

Weekdag<6 werkt ook.
En als(maand(datum + (8-weekdag(datum) ) = maand(datum)) wanneer groter dan vijf.

Zoiets?

👑


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedemorgen Ajakkes,

Dank voor je antwoord. Het lijkt erop dat jij een suggestie aandraagt voor mijn formules in de bestaande kolommen.

Graag zou ik willen weten hoe ik de betreffende koers kan berekenen bij eerdergenoemde drie opties.

Acties:
  • 0 Henk 'm!

  • ajakkes
  • Registratie: Maart 2004
  • Laatst online: 16-05 22:32

ajakkes

👑

Ik begrijp dat je graag wil weten of er nog weekdagen na de 28ste komen. Daar heb ik je de formule voor gegeven. Je zal een aantal keer als formules in elkaar moeten stoppen voor je resultaat.

👑


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Waarom specifiek de 28ste?

Ook bij de 27,29,30, weet je niet zeker of er nog werkdagen in de maand zullen komen. Het kan in één keer goed:

pseudocode:
code:
1
als(weekdag(datum)<6;"[zoekKoersOp];als(maand(datum)=maand(werkdag(datum;1);[zoekKoersOpVanDiedatum];[rij-1][k])

In woorden: als de datum een doordeweekse dag is, zoek de koes op. Als dat niet het geval is en de eerstvolgende werkdag valt in dezelfde maand, zoek dan die koers op, en als dat ook niet het geval is, geef dan de koers van de dag ervoor.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland