Solved

formulas for timesheet analyses

Posted on 2013-11-05
4
217 Views
Last Modified: 2013-11-06
I have timesheet data collected from a fingerprint reader and have organized it in a pivot table on sheet 2 of the attached file.

I would like to get formulas in columns BA to BE for

Total hours worked
No of days counted
Average hours worked on each day
No of days worked less than 8 hours

whenever a time in as well as a time out is recorded.

In addition I would like to have a count of days present whenever there is at least one of time in and time out recorded.
Attendance.xls
0
Comment
Question by:Saqib Husain, Syed
  • 2
4 Comments
 
LVL 12

Expert Comment

by:Harry Lee
ID: 39626153
ssaqibh,

You time log data doesn't seem to be completed. Most people don't have both In and Out time. That creates a big problem in calculating the time.
0
 
LVL 81

Accepted Solution

by:
byundt earned 500 total points
ID: 39626289
There was no "Out" column that corresponded to the "In" of column AZ, so I inserted an extra column before your requested formulas.

I used offset ranges along with a test for even/odd column numbers to test for times being reported for both "In" and "Out". This forced me into a SUMPRODUCT formula.

Total hours worked
=SUMPRODUCT($E6:$BA6*ISODD(COLUMN($E6:$BA6))*($D6:$AZ6<>"")*($E6:$BA6<>""))-SUMPRODUCT($D6:$AZ6*ISEVEN(COLUMN($D6:$AZ6))*($D6:$AZ6<>"")*($E6:$BA6<>""))

Number of days worked
=SUMPRODUCT(($D6:$AZ6<>"")*($E6:$BA6<>"")*ISEVEN(COLUMN($D6:$AZ6)))

Average number of hours worked
=BB6/BC6

Number of days worked less than 8 hours
=SUMPRODUCT(($D6:$AZ6<>"")*($E6:$BA6<>"")*(($E6:$BA6-$D6:$AZ6)<8/24))

Number of days with time reported
=COLUMNS($D6:$BA6)/2-SUMPRODUCT(($D6:$AZ6="")*($E6:$BA6="")*ISEVEN(COLUMN($D6:$AZ6)))DUCT(($D6:$AZ6<>"")*($E6:$BA6<>"")*(($E6:$BA6-$D6:$AZ6)<8/24))/BC6
AttendanceQ28286392.xls
0
 
LVL 81

Assisted Solution

by:byundt
byundt earned 500 total points
ID: 39626323
My formula for number of days worked less than 8 hours was wrong. It needed to include a test for even column number.
=SUMPRODUCT(($D6:$AZ6<>"")*($E6:$BA6<>"")*ISEVEN(COLUMN($D6:$AZ6))*(($E6:$BA6-$D6:$AZ6)<8/24))
0
 
LVL 43

Author Closing Comment

by:Saqib Husain, Syed
ID: 39627032
Great, thanks

Saqib
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Improved? Move/Copy Add-in Replacement - How to avoid the annoying, “A formula or sheet you want to move or copy contains the name XXX, which already exists on the destination worksheet.” David Miller (dlmille)  It was one of those days… I wa…
Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question