Forum Discussion
Seeking Code/VBA for Average WaitTime Per Hour
- May 04, 2023
A spreadsheet is attached that computes the average wait time for each hour of a day you select. This relies entirely on functions that are only available in newer versions of Excel, so if it doesn't work for you that would be the reason. Blank fields are not included in the calculation of averages, so if that's what you meant by "blanks in the 'OutTime' column that need to be accounted for" then there's no reason to worry. They are not reducing the averages.
It looks like this:
What would the formula look like if I want to represent the sum of tickets issued per hour for each of the hours represented?
Try this
=IFERROR(COUNT(FILTER(Sheet1!$B$2:$B$243,HOUR(Sheet1!$C$2:$C$243)='Summary Data'!B7)),"")
mathetes
Is there a way to make the output 'vertical'. Seems unnecessarily complicated but it's what is being requested, if possible. In my ignorance it looks like a different formula would be required in each field.
Date | 6 | 7 | 8 | 9 | 10 | 11 |
6/3/2019 | 0:21:17 | 0:24:46 | 0:22:29 | 0:26:11 | 0:30:47 | 0:29:52 |
No. Trips | 5 | 73 | 62 | 77 | 85 | 77 |
- mathetesMay 05, 2023Silver Contributor
Is there a way to make the output 'vertical'. Seems unnecessarily complicated but it's what is being requested, if possible.
By the way, if it helps at all, I agree completely with your hesitation. Not that it's unnecessarily complicated, but in fact arraying the data horizontally as you've apparently been requested to do, is less clear when the number of columns gets large than a similar number of rows. The data are the same either way, but fifty or sixty columns (two months) are harder to review than the same number of rows. Not a LOT harder, but slightly. Our minds are more acquainted with data like that (think of stock listings or bank statements) in rows.
- PhishdawgMay 05, 2023Brass Contributor
mathetes
Not quite done, sorry.
Can I get the average wait time for the day on the line with the wait times?- mathetesMay 06, 2023Silver Contributor
My apologies; and thanks for your patience. I just realized there was a major omission in the formulas I've given you. They were not getting average waits for the specific days, only for the hours shown. That was apparent -- if you still have the older copies -- in that the figures for hour 15 (the only hour that appeared on two different days) showed exactly the same numbers regardless of which day.
So I added a criterion to the formulas for average and total tix that now FILTERs only the averages and totals for the day specified and the hour specified.
Getting the overall average for the day then is a simple matter of removing the criterion that links to hour; same for the total count of tix
I do hope that you'll take the time to view those resources I sent you before--they should help you catch errors like the one I've fixed here. It's important for you to understand how these formulas are working; that's why I sent those links.
- mathetesMay 05, 2023Silver Contributor
The same formula, but with a different reference, now to the row across the top rather than the column down the left. I've left the originals in the attached so you can compare them and see the single change that had to be made.
The hours formula, using the dynamic array function UNIQUE does require the addition of the TRANSPOSE function so that it arrays itself horizontally rather than vertically.
As a separate postscript, I should add that you can achieve the same visual result by using Copy....Paste Special.... and then select the "Transpose" option. Play around with that. For a single, one time report, that might be all you need.
- PhishdawgMay 05, 2023Brass Contributor
mathetes
Can't figure out what I'm missing.
In my DailyTransactionSht Column A is 'TicketDate' and Column D is 'InTime'.
Two of the three outputs are working as desired.
Column H7 should be '7'. I can't figure out why it showing 6027.- mathetesMay 05, 2023Silver Contributor
It looks as if you're using the TRANSPOSE function with each of the formulas. That was not what I proposed. The TRANSPOSE function was only needed (effective) with the formula that got the unique hours from the FILTER function.
If you would be so kind, since I am seeing only the image of the end result, it would be more helpful if you posted a copy of that actual spreadsheet.