Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 550
  • Last Modified:

Sum multiple columns based on multiple row criteria

I have an unusually formatted data source and need to work out how to calculate a total of multiple rows and columns based on multiple criteria. A small sample is attached.

Basically the user needs to be able to choose a Location Id; A Day Qtr; and a Week Number (yellow cells at the top of my sample) and the total and average at the top needs to calculate the results (to make it clearer the total and average shown in this example would be based on the yellow cells in the sheet).

Ideally I need to be able to do it without adding extra columns because the data is extracted every week from another system in the format shown commencing at Row 6 so I would like the user to be able to simply paste the new report over the top.

Can anyone help me figure out how to calculate the total given it needs to sum multiple rows and columns?
Demo.xlsx
0
Rob4077
Asked:
Rob4077
  • 6
  • 5
  • 4
  • +1
1 Solution
 
ProfessorJimJamCommented:
ok based on the condition, where is that 5 coming from?  if the criteria matches then what amount needs to be added.

you are not clear about from where amount needs to be calculated from
0
 
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
Try this....

In C5
=SUMPRODUCT(($B$8:$B$19+0=$C$1)*($D$8:$D$19+0=$C$2)*($E$6:$T$6=$C$3)*$E$8:$T$19)

Open in new window

0
 
Rob4077Author Commented:
Sorry. In this case on:
3.1.2016, location Id 23456 had 5 units in DayQtr 3,
4.1.2016, location Id 23456 had 25 units in DayQtr 3,
5.1.2016, location Id 23456 had 22 units in DayQtr 3,
6.1.2016, location Id 23456 had 24 units in DayQtr 3,
7.1.2016, location Id 23456 had 33 units in DayQtr 3,
8.1.2016, location Id 23456 had 26 units in DayQtr 3,
9.1.2016, location Id 23456 had 14 units in DayQtr 3,

That entire week data related to week 2 so in this case, if the user chose week 2, LocationId 23456 and DayQtr 3 the Average is 7 and the Total is 149
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Rob4077Author Commented:
With regard to =SUMPRODUCT(($B$8:$B$19+0=$C$1)*($D$8:$D$19+0=$C$2)*($E$6:$T$6=$C$3)*$E$8:$T$19)
What is the significance of the +0 in each array?
0
 
Rob4077Author Commented:
Also, is there a way of referring to an entire column $B:$B without including the row number? That would make it much easier to do the regular data updates, or am I locked in to including the row?
0
 
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
Because your location ids in col. B and qtr# in col. D are numbers formatted as Text while your criteria are real numbers.
To convert these numbers formatted as Text in your data set, a 0 is added.
0
 
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
Referencing the whole column is not advisable in the sumproduct formula.
0
 
Rob HensonIT & Database AssistantCommented:
@Rob4077 - I assume your comment about including all of column B also applies to including further columns with updated data. Columns E to T are 1 to 16 Jan, I assume 17 Jan will go in col U, 18 Jan col V etc.

With a different layout of the data, this would be possible with a pivot table.
0
 
Rob4077Author Commented:
Thanks Rob for your observation but unfortunately the data is inflexible and my requirement very specific so I can't use a pivot table.
Neeraj, your solution is exactly what I need. Thanks for the extra clarification
0
 
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
You're welcome Rob!
0
 
Rob HensonIT & Database AssistantCommented:
In which case before pasting in new data, insert a column before column T, thus pushing the reference to column T in the formula to column U.

Alternatively, you could use formula to convert the data from the existing format to a format that can be used in a Pivot.

Thanks
Rob
0
 
Rob4077Author Commented:
Oops, forgot to follow up. How do I work out the average?
0
 
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
Like this...

=SUMPRODUCT(($B$8:$B$19+0=$C$1)*($D$8:$D$19+0=$C$2)*($E$6:$T$6=$C$3)*$E$8:$T$19)/SUMPRODUCT(($B$8:$B$19+0=$C$1)*($D$8:$D$19+0=$C$2)*($E$6:$T$6=$C$3))

Open in new window

0
 
Rob HensonIT & Database AssistantCommented:
Carrying on with the Pivot Table suggestion, with data formatted/converted by formula from the original format, see attached.

The only addition to the Original data is the concatenation in column A, making each row unique.

The table on Formatted then pulls from the Original data; to update copy and paste the last 12 rows (yellow) to the bottom of the table. I suspect this is not truly representative as there will no doubt be more than 3 location IDs. Columns A to D are basically a copy of the row headers from Original repeated for each daily batch of transactions. Columns E to G are formula driven.

Pivot sheet will update by Refresh, the Data Source will update automatically because the data on Formatted is set as a table.
Demo.xlsx
0
 
Rob4077Author Commented:
Hi Rob, Thanks for the suggestion and demo. I see what you're getting at and it certainly will accomplish what I asked. Trouble is that my question was simplified to just the first step of where I need to get to and, unfortunately, the pivot table is unlikely to fit the total solution.
0
 
Rob HensonIT & Database AssistantCommented:
No worries.

When doing bigger projects in Excel, I have often found it better to work backwards from what the desired end result is and then amend the source data where possible or include a step to adapt the data so that it fits.

However, more often than not there are already various parts in place that people want to keep and need working round.

Thanks
Rob H
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 6
  • 5
  • 4
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now