Solved

Average across mutiple sheets

Posted on 2016-10-07
5
40 Views
Last Modified: 2016-10-08
Good day.

I am creating a timesheet and have it all working except one function -  to be able to average the hours worked for the previous 9 weeks based on a holiday date.  (Sounds strange, but Provincial regulations!!!)

In the Excel Spreadsheet, I have a tab for each month, and a tab for "Defaults".
On each months Tab
    C8:AG8 has the dates
    C16:AG16 has the hours worked on each of those dates.

Note:  if a date is not worked, then 0 (zero) is recorded in row 16 for that date, therefore the average calculation has to avoid including those dates, i.e the average has to not include zeros.

On the Defaults Tab, I list the holiday and the holiday date which is updated each year - Some holidays are on the 3rd Monday of the month which means the date changes each year.

I have not be able to work out how to average the hours worked across multiple sheets.
The averageifs works, in that it has the ability to use criteria for the start and end dates and ignore 0 (zeros).  However I have not been able to get the range to work across multiple sheets.

This is some if what I have tried.
     - If I was trying to average between two dates on one tab - This works
        =AVERAGEIFS(Jul!C$16:AG$16,Jul!C$8:AG$8,">"&B33,Jul!C$8:AG$8,"<"&B24,Jul!C$16:AG$16,">0")
       
        Jul is the tab name
       C16:AG16 holds the hours worked for each day worked.
       C8:AG8 holds the date in date format.
       B33 is the start date (the holiday - (minus) 63 days (9 weeks)
       B24 is the end date (the holiday)


However when I go and try and expand the above equation to work over multiple tabs, it does not work.
       =AVERAGEIFS(Jan:Dec!C16:AG16,Jan:Dec!C$8:AG$8,">"&B33,Jan:Dec!C$8:AG$8,"<"&B24,Jan:Dec!C$16:AG$16,">0")



Any suggestion on how to average over multiple tabs using a start and end date, ignoring zeros/Null values would be appreciated.

Thank you all for help.

BTW - It will be used in Excel 2013 & 2016
0
Comment
Question by:bmcollis
  • 2
  • 2
5 Comments
 
LVL 26

Expert Comment

by:Shaun Kline
ID: 41834254
Instead of using AVERAGEIFS, try using SUMIFS and COUNTIFS. Basically you would have a sumifs for each of your month spreadsheets added together and divide that amount by the sum of all of the countifs. The basic formula:

=(SUMIFS(Jan!C16:AG16, Jan!C8:AG8, ">"&B33, Jan!C8:AG8, "<" & B24, Jan!C16:AG16, ">0") + 
SUMIFS(Feb!C16:AG16, Feb!C8:AG8, ">"&B33, Feb!C8:AG8, "<" & B24, Feb!C16:AG16, ">0") + ... + 
SUMIFS(Dec!C16:AG16, Dec!C8:AG8, ">"&B33, Dec!C8:AG8, "<" & B24, Dec!C16:AG16, ">0") ) 
/ 
(COUNTIFS(Jan!C8:AG8, ">"&B33, Jan!C8:AG8, "<" & B24, Jan!C16:AG16, ">0") + 
COUNTIFS(Feb!C8:AG8, ">"&B33, Feb!C8:AG8, "<" & B24, Feb!C16:AG16, ">0") + ... + 
COUNTIFS(Dec!C8:AG8, ">"&B33, Dec!C8:AG8, "<" & B24, Dec!C16:AG16, ">0") ) 

Open in new window

(Added returns for ease of reading. Remove them when using formula.)
0
 

Author Comment

by:bmcollis
ID: 41834473
Hi Shaun,

Thanks for the solution - it does work, although it creates a very long formula.

Pity the averageifs does not appear to work across multiple tabs.

Brian
0
 
LVL 26

Accepted Solution

by:
Shaun Kline earned 500 total points
ID: 41834566
I found another solution. If you list your sheet names in a column, you can use the SUMPRODUCT, SUMIFS/COUNTIFS, and INDIRECT functions to calculate the average across sheets.

For example, if you list your monthly sheet names in column A from row 1 to 12, your start date is in B2 and your end date is in B3, your formula would look like this: (Tested in Excel 2007)
=SUMPRODUCT(SUMIFS(INDIRECT("'"&A1:A12&"'!C16:AG16"),INDIRECT("'"&A1:A12&"'!C8:AG8"),">" & B2,INDIRECT("'"&A1:A12&"'!C8:AG8"),"<" & B3))/SUMPRODUCT(COUNTIFS(INDIRECT("'"&A1:A12&"'!C8:AG8"), ">" & B2, INDIRECT("'"&A1:A12 &"'!C8:AG8"), "<" & B3, INDIRECT("'"&A1:A12&"'!C16:AG16"), ">0"))

Open in new window


You can also create a named range for your sheet names. Just create a new Named Range using Name Manager, and enter the sheet names as ={"Jan";"Feb";"Mar";...;"Dec"}
0
 
LVL 17

Expert Comment

by:Roy_Cox
ID: 41834720
Why not have all the data on one sheet, it would be much easier to manage, maybe use PivotTables to get the reports you require.
0
 

Author Comment

by:bmcollis
ID: 41835349
Hi Shaun,

Thanks for the second take.  I had use the Indirect function in another part of the spreadsheet so had been trying to use that with the sumifs command with no luck.  Apparently missed/did not understand the sumproduct command.

So thank you for the revised and simplified  equation - worked a treat - I have marked it the Best Solution.



Hi Roy,

Thought of that, but believe for the user having separate Month tabs is easier.
Also thought having a "Year" tab, with all the months data on it, which would allow the averageifs formula to work, however at the end of the day, I thought a formula should be possible.

And thanks to Shune it is possible.
Thank your your input.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Macro 6 50
Help with Adding text from a form to a worksheet 5 37
remove upper case characters in excel 4 21
Excel - SQL export question 3 8
Introduction While answering a recent question (http:/Q_27311462.html), I created an alternative function to the Excel Concatenate() function that you might find useful.  I tested several solutions and share the results in this article as well as t…
Convert between Excel file formats (.XLS, .XLSX, .XLSM) with/without macro option David Miller (dlmille) Intro Over this past Fall, I've had the opportunity to see several similar requests and have developed a couple related solutions associate…
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabil…
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.

895 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now