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

Zoeken omhoog in kolom links van actieve kolom

Status
Niet open voor verdere reacties.

Jand66

Gebruiker
Lid geworden
7 jul 2010
Berichten
31
Ik ben met een schema voor de kantine bezig. Ik wil dat wanneer ik in cel B8 een tijd invul dat dan de datum van cel A6 wordt gepakt en wordt meegegeven aan een functie die dan automatisch Zaterdagmiddag invult in cel D8.
Ik heb de functie al gemaakt, deze heeft 2 input parameters, namelijk datum en tijd. Op basis daarvan geeft de functie de waarde in kolom D terug. Deze werkt, met een debug gecontroleerd. Het enige wat niet lukt is het volgende:
Als ik cel B5, B7, B8 of B9 wijzig dat ik dan de datum uit de bijbehorende cel (zie kleuren in figuur voor bijbehorende cel) niet kan meegeven. Hoe haal ik die datum op en kan ik die als input meegeven?Test.jpg

Als dat niet via een formule kan hoe zou ik dan de module in de excelsheet aan kunnen passen om deze functionaliteit aan te passen, zie bijlage.

Mvg,
Jan
 

Bijlagen

Lukt het hiermee?
Code:
=ALS(B3="";"";getDagdeel(ALS(EN(A3="";B3>0);VERSCHUIVING(A3;RIJ(A3)-RIJ()-1;;1);A3);B3))
 
Beste HSV,

In de rijen waar in kolom A een waarde is gevuld, werkt het NIET. (rij 6)
In de rijen waar kolom A leeg is en waar de tijd in hetzelfde dagdeel valt werkt het WEL (rij 7)
In de rijen waar kolom A leeg is en waar de tijd in een ander dagdeel valt werkt het NIET (rij 8)

Groet,
Jan
 
Beste HSV,

Foutje van mijn kant. Ik had je oplossing verkeerd geplakt, dan werkt 'ie natuurlijk nooit :o. Conclusie, doet het prima! :thumb:
Heb ik nog wel een kort vraagje. Kun je uitleggen hoe de "RIJ" functies binnen de functie "VERSCHUIVING" werken aub?

Gr, Jan
 
Stel dat de formule in D8 staat.

Code:
VERSCHUIVING(A8;RIJ(A8)-RIJ()-1;;1)
Dan is verschuiving(A8;rij(A8)-rij(D8)-1;;1rij-hoog)
verschuiving(A8;8-8-1;;1rij-hoog)
verschuiving(A8;-1;;1)

=A7
 
Beste HSV,

Het voorbeeld dat wordt uitgelegd snap ik. Ik snap het NIET als de formule in D9 staat.

Code:
=ALS(B9="";"";getDagdeel(ALS(EN(A9="";B9>0);VERSCHUIVING(A9;RIJ(A9)-RIJ()-1;;1);A9);B9))

Dan is de verschuiving (A9;rij(A9)-rij(D9)-1);;1 rij omhoog)
Verschuiving(A9;9-9-1;;1 rij omhoog)
Verschuiving(A9;-1;;1)

= A8

Dit resulteert in een waarde 00:00:00 die aan de eerste parameter van de functie getdagdeel wordt meegegeven. Als in de functie getdagdeel de datum een waarde 00:00:00 heeft, dan geeft de excel functie weekday altijd een 7 terug en dat is de zaterdag. Als je in A7 de datum 26-8-2016 zet, dan zul je zien dat in D9 een onjuiste waarde komt te staan.

Als ik in de functie VERSCHUIVING zou kunnen bepalen hoeveel rijen ik omhoog moet dan ben ik er.

Gr, Jan
 
Selecteer cel D3 en plaats een van onderstaande formules in de formulebalk en druk Ctrl+Shift+Enter.
Daarna doorvoeren.
Code:
=ALS(B3="";"";getDagdeel(VERSCHUIVING(A3;MAX(ALS(A$3:A3<>"";RIJ(A$3:A3)))-RIJ(A3);;1);B3))

Of:
Code:
=ALS(B3="";"";getDagdeel(VERSCHUIVING(A3;MAX((A$3:A3<>"")*(RIJ(A$3:A3)))-RIJ(A3);;1);B3))
 
Laatst bewerkt:
Beste HSV,

Sorry voor de late reactie, maar dit is de oplossing. Dit werkt inderdaad goed. Heel erg bedankt.
In haalve frais (andere haalf is grunnegs) is die moar wat dankboar.

Ik zal de melding op opgelost zetten.

Groet,
Jan
 
Geern doan.

Voor de niet Groningers: Graag gedaan Jan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan