Molovhic
Gebruiker
- Lid geworden
- 27 mei 2016
- Berichten
- 76
Hallo
Ik heb een formule die data gaat halen uit ons wms systeem.
Het komt er op neer dat aan de hand van de export file (uit het wms) we gaan berekenen hoeveel iemand eigenlijk presteert.
Vermits het systeem met kwartieren werkt, tellen we al de kwartieren waarin iemand een hit (gewerkt) heeft.
Nu is het probleem dat die formule toch vrij lang is waardoor de file een tijdje nodig heeft om te rekenen (ong. 2min).
Vroeg mij af of het eenvoudiger kan.
Formule zoals hij nu is:
IF(ISNUMBER(SEARCH("22",data!E$2,6)), = hier ga ik kijken welke shift gewerkt heeft (22 = nachtploeg, 06 = vroege, 14=late)
De formule gaat kijken of dit uur bestaat in de eerste cel.
SUM(IF(COUNTIFS(, = Hierna gaat hij aan de hand van enkele criteria's opzoeken hoeveel kwartieren
de persoon in A5 gewerkt heeft en dit delen door 4 vermits er 4 kwartieren per uur zijn.
Mijn vraag is dus of deze formule eventueel korter kan, rekening houdend dat hij wel moet controleren of er een hit
is in een bepaald kwartier?
=IF(ISNUMBER(SEARCH("22",data!E$2,6)),SUM(IF(COUNTIFS(data!$L$2:$L$20000,A5,data!$E$2:$E$20000,{"*22:15","*22:30","*22:45","*23:00","*23:15","*23:30","*23:45","*00:00","*00:15","*00:30","*00:45","*01:15","*01:30","*01:45","*02:00","*02:15","*02:30","*02:45","*03:00","*03:15","*03:30","*04:15","*04:30","*04:45","*05:00","*05:15","*05:30","*05:45","*06:00"},data!$P$2:$P$20000,"afdeling")>0,1,0))/4,IF(ISNUMBER(SEARCH("06",data!E$2,6)),SUM(IF(COUNTIFS(data!$L$2:$L$20000,A5,data!$E$2:$E$20000,{"*06:15","*06:30","*06:45","*07:00","*07:15","*07:30","*07:45","*08:00","*08:15","*08:30","*08:45","*09:00","*09:15","*09:30","*09:45","*10:00","*10:15","*10:30","*10:45","*11:00","*11:15","*11:30","*11:45","*12:00","*12:15","*12:30","*12:45","*13:00","*13:15","*13:30","*13:45","*14:00"},data!$P$2:$P$20000,"afdeling")>0,1,0))/4,IF(ISNUMBER(SEARCH("14",data!E$2,6)),SUM(IF(COUNTIFS(data!$L$2:$L$20000,A5,data!$E$2:$E$20000,{"*14:15","*14:30","*14:45","*15:00","*15:15","*15:30","*15:45","*16:00","*16:15","*16:30","*16:45","*17:00","*17:15","*17:30","*17:45","*18:00","*18:15","*18:30","*18:45","*19:00","*19:15","*19:30","*19:45","*20:00","*20:15","*20:30","*20:45","*21:00","*21:15","*21:30","*21:45","*22:00"},data!$P$2:$P$20000,"afdeling")>0,1,0))/4)))
Ik heb een formule die data gaat halen uit ons wms systeem.
Het komt er op neer dat aan de hand van de export file (uit het wms) we gaan berekenen hoeveel iemand eigenlijk presteert.
Vermits het systeem met kwartieren werkt, tellen we al de kwartieren waarin iemand een hit (gewerkt) heeft.
Nu is het probleem dat die formule toch vrij lang is waardoor de file een tijdje nodig heeft om te rekenen (ong. 2min).
Vroeg mij af of het eenvoudiger kan.
Formule zoals hij nu is:
IF(ISNUMBER(SEARCH("22",data!E$2,6)), = hier ga ik kijken welke shift gewerkt heeft (22 = nachtploeg, 06 = vroege, 14=late)
De formule gaat kijken of dit uur bestaat in de eerste cel.
SUM(IF(COUNTIFS(, = Hierna gaat hij aan de hand van enkele criteria's opzoeken hoeveel kwartieren
de persoon in A5 gewerkt heeft en dit delen door 4 vermits er 4 kwartieren per uur zijn.
Mijn vraag is dus of deze formule eventueel korter kan, rekening houdend dat hij wel moet controleren of er een hit
is in een bepaald kwartier?
=IF(ISNUMBER(SEARCH("22",data!E$2,6)),SUM(IF(COUNTIFS(data!$L$2:$L$20000,A5,data!$E$2:$E$20000,{"*22:15","*22:30","*22:45","*23:00","*23:15","*23:30","*23:45","*00:00","*00:15","*00:30","*00:45","*01:15","*01:30","*01:45","*02:00","*02:15","*02:30","*02:45","*03:00","*03:15","*03:30","*04:15","*04:30","*04:45","*05:00","*05:15","*05:30","*05:45","*06:00"},data!$P$2:$P$20000,"afdeling")>0,1,0))/4,IF(ISNUMBER(SEARCH("06",data!E$2,6)),SUM(IF(COUNTIFS(data!$L$2:$L$20000,A5,data!$E$2:$E$20000,{"*06:15","*06:30","*06:45","*07:00","*07:15","*07:30","*07:45","*08:00","*08:15","*08:30","*08:45","*09:00","*09:15","*09:30","*09:45","*10:00","*10:15","*10:30","*10:45","*11:00","*11:15","*11:30","*11:45","*12:00","*12:15","*12:30","*12:45","*13:00","*13:15","*13:30","*13:45","*14:00"},data!$P$2:$P$20000,"afdeling")>0,1,0))/4,IF(ISNUMBER(SEARCH("14",data!E$2,6)),SUM(IF(COUNTIFS(data!$L$2:$L$20000,A5,data!$E$2:$E$20000,{"*14:15","*14:30","*14:45","*15:00","*15:15","*15:30","*15:45","*16:00","*16:15","*16:30","*16:45","*17:00","*17:15","*17:30","*17:45","*18:00","*18:15","*18:30","*18:45","*19:00","*19:15","*19:30","*19:45","*20:00","*20:15","*20:30","*20:45","*21:00","*21:15","*21:30","*21:45","*22:00"},data!$P$2:$P$20000,"afdeling")>0,1,0))/4)))