Hirdetés
- lezso6: Miért is jó, ha dohányzol?! Megéri rászokni!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- A nagy BOR topic
- Meggyi001: Kuponok....
- gerner1
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mr Dini: Mindent a StreamSharkról!
- Brogyi: CTEK akkumulátor töltő és másolatai
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
azopi74
addikt
válasz
TrollBalint #25874 üzenetére
Hali, na megcsináltam
Algoritmusom a következő:
1: Jelöljük ki állandóba a normál munkaidőkezdetet és munkaidővéget (B1 és B2 cella) Jelen esetben 9:00 és 17:00, MunkaidőKezdet és MunkaidőZárás
2: HAtározzuk meg minden napra a normál munkaidőkezdetet és normál munkaidővéget. Ehhez kibővítettem a munkanapos táblát StartWorkingTime és EndWokringTime mezőkkel.
=[@Day]+MunkaidőKezdet
=[@Day]+MunkaidőZárás3: Határozzuk meg a normál időkezdeteket (StartDayNormalStart és EndDayNormalStart), képleteik:
=DATE(YEAR([@StartTime]),MONTH([@StartTime]),DAY([@StartTime]))+MunkaidőKezdet
és
=DATE(YEAR([@EndTime]),MONTH([@EndTime]),DAY([@EndTime]))+MunkaidőKezdet
4: Számoljuk össze a teljes munkanapok számát (FullWorkingTime) StartDay és EndDay között. :
=COUNTIFS(DayType[StartWorkingTime],">="&[StartTime],DayType[EndWorkingTime],"<="&[@EndTime],DayType[Type],"Workday")
Vagyis azoknak a munkanapoknak a száma, amik a StartTime (kezdőidő) után kezdődtek, a záróidő (EndTime) előtt záródtak
5. Számoljuk ki a töredék napokat. Ehhez döntsük el, hogy a kezdőidő vagy a záróidő munkaidőbe esek-e? (csak ekkor kell vele fognalkozni):
IfStartInWorkingTime:
=COUNTIFS(DayType[StartWorkingTime],"<"&[@StartTime],DayType[EndWorkingTime],">"&[@StartTime],DayType[Type],"Workday")
Ennek értéke 1 vagy 0 lehet, (TRUE vagy FALSE), ha 1, akkor a kezdőidő munkaidőőben van ,különben nem,
IfEndInWorkingTime:
Hasonló logikával:
=COUNTIFS(DayType[EndWorkingTime],">"&[@EndTime],DayType[StartWorkingTime],"<"&[@EndTime],DayType[Type],"Workday")
Ezután számoljuk ki a töredéknapokat:
Első nap töredéknapja (PartDayFirstDay):
=IF([@IfStartInWorkingTime],[@StartTime]-[@StartDayNormalStart],0)
Utolsó nap töredéknapja (PartDayLastDay):
=IF([@IfEndInWorkingTime],[@EndTime]-[@EndDayNormalStart],0)
6. Adjuk össze a teljes és töredéknapokat, hogy megkapjuk az összes munkaidőt:
TotalWorkingTime:
=[@FullWorkingTime]+[@PartDayFirstDay]+[@PartDayLastDay]
A táblát itt találod.
Ha valami nem OK, írj, javítom a képletet (letesztelni már nem volt időm
-
azopi74
addikt
válasz
TrollBalint #25874 üzenetére
Hmmm, ez igényel némi időt, nem egy két perc, akár VBA-val, akár képletekkel akarod megoldani (gyakorlatilag ugyanazt a logikát kell végigkövetned)
De a kivitelezés itt már talán VBA-val némileg egyszerűbb, (kevesebbet kell agyalni) de este otthonról, ha lesz kedvem, megcsinálom szimplán képlettel
Új hozzászólás Aktív témák
- HIBÁTLAN iPhone 14 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3511
- Extra olcsó! HP 230 Vezetéknélküli USB-s Billentyűzet
- GYÖNYÖRŰ iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3398, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3396, 94% Akkumulátor
- RÉSZLETRE .OPCIONÁLIS. Acer Nitro V ANV15-51-554Z SZÁMLA , GARANCIA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest