Solved

Average across mutiple sheets

Posted on 2016-10-07
5
35 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

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Drop Down List with Unique/Distinct Values (enhancing the Combo-Box with a few steps and a little code) David miller (dlmille) Intro Have you ever created a data validation list from a database field or spreadsheet column (e.g., Zip Codes or Co…
INDEX and MATCH can be used to great effect to replace HLOOKUP and VLOOKUP as it does not have the limitation of needing the data to be sorted so that the reference value is in the first column or row. It also has the ability to perform a bi-directi…
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

705 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

20 Experts available now in Live!

Get 1:1 Help Now