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

Vraagje over bepaalde waardes vermenigvuldigen

Status
Niet open voor verdere reacties.

Roy3001

Gebruiker
Lid geworden
29 jul 2011
Berichten
54
Beste leden,

Ik ben op zoek naar een bepaalde formule voor de volgende kwestie:
Voor een planningsoverzicht maak ik gebruik van bepaalde codes, bijv. V = 07:00-16:30, dit betreft een 9-uurs dienst. Zo zijn er diverse codes voor 8-uurs en 9-uurs diensten afhankelijk van het tijdstip dat de dienst begint en eindigt. In het planningsoverzicht staat dus alleen de korte code (V1 of een dergelijke code). De gebruikte codes in het voorbeeld is maar een gedeelte van alle 8 en 9 uurs dienstcodes. Het zijn in totaal zo'n 30 codes die gebruikt kunnen worden.

Nu wil ik dat er in de totaal kolom wordt weergegeven hoeveel uur iemand in totaal werkt. Dus dat het aantal 9-uurs codes keer 9 uur en het aantal 8-uurs codes keer 8 uur wordt gedaan. Nu kan dit natuurlijk met de aantal.als-formule, (bijv.: =(aantal.als(C2:L2;"v1")+aantal.als(C2:aL6;"v2"))*9 en dan ook nog alle codes voor de 8-uurs diensten erbij tellen. Dan moet je dus voor iedere dienstcode weer een aantal.als toevoegen.

Kan dit ook korter en wat is hiervoor de formule? Ik werk met Excel 2013.

In het voorbeeld moet het dus 52 uur zijn in totaal.

Alvast bedankt voor de hulp.

Groet,

Roy
 

Bijlagen

  • Vraagje mbt uren.xlsx
    8,6 KB · Weergaven: 21
Het zou bijvoorbeeld zo kunnen.

Code:
=SOMPRODUCT((--(LENGTE(C2:L2)=1)*9)+(--(RECHTS(C2:L2;1)<"3")*(C2:L2>"")*9)+(RECHTS(C2:L2;1)>="3")*(LENGTE(C2:L2)=2)*8)

De formule kijkt naar de lengte van de waardes en ik zie dat in het tabel de 8 urendiensten eindigen op een 3 of 4.
Dat heb ik gebruikt in de formule.

Met vriendelijke groet,


Roncancio
 
Al bedankt voor de reactie. Maar het is helaas niet zo dat alle 8-uurs diensten eindigen op een 3 of 4. Bij de overige codes kan het ook een ander cijfer of zelfs letter zijn. Zelf dacht ik aan een formule die iets doet van =formule(tel alle v,v1,v2 en overige codes van 9 uur;c2:l2;*9) of zoiets, maar ik weet niet of zo'n formule bestaat.
 
Dat is erg jammer.
Kan je de lijst van diensten plaatsen zodat we wellicht een logica kunnen ontdekken in de benaming van de 8 en 9 uren diensten.

Met vriendelijke groet,


Roncancio
 
Toch sneller gevonden dan gedacht :)

V = 07.00 - 16.30
V1 = 07.00 - 15.30
V2 = 07.00 - 16.00
V3 = 07.00 - 15.00
D = 08.00 - 16:30
D1 = 08.00 - 17.30
D2 = 08.00 - 17.00
D3 = 08.00 - 16.00
D4 = 09.00 - 18.30
D5 = 09.00 - 17.30
D6 = 09.00 - 17.00
M = 13.00 - 22.00
M1 = 14.00 - 22.00
 
Het lijkt niet zonder meer te lukken met 1 formule.
Bijgaand 2 mogelijke alternatieven.
In beide gevallen heb ik de codes en tijden gesplitst over 2 kolommen en de aantallen uren numeriek gemaakt. Dat werkt een stuk makkelijker.

1. Extra (verborgen) kolommen O-X die de codes uit C-L omzetten in aantallen uren.
In O2 gekopieerd naar rechts t/m X2:
Code:
=ALS.FOUT(VERT.ZOEKEN(C2;$A$6:$C$15;3;0);0)
Edit: en de som in Y2.

2. Numerieke codes gebruiken. Ik heb als volgt gedaan: V --> 10, V1 --> 11 etcetera, D --> 20, D1 --> 21 etcetera.
Dan lukt het wel met 1 formule in O2 (en de numerieke codes in D6 tm D15):
Code:
=SOMPRODUCT(INTERVAL($C2:$L2;$D$6:$D$15)*$C$6:$C$16)
Merk op dat vermenigvuldigd wordt met 1 element extra (C6:C16) en niet C6:C15, omdat de INTERVAL functie nu eenmaal 1 extra element oplevert dan het aantal intervals.

Zie bijgaande werkmap sheet met een werkblad per alternatief.
Bekijk bijlage Antwoordjes mbt uren MB.xlsx
 
Laatst bewerkt:
Ik zie ook halve uren.
Moeten die afgerond worden?

Als ik het goed zie, worden de "hoofddiensten" (dus zonder getal) 9 uur.
Ook de diensten die op een 2 eindigen, zijn 9 uurs diensten zo te zien.

Met vriendelijke groet,


Roncancio
 
Met optie 1 van MarcelBeug kom ik uit de voeten en is ook de simpelste om te doen. dus het is al opgelost.
bedankt voor het meedenken.

Grtz.

Roy
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan