I'm looking for a clean(er) way (than using SUMIF
with a third row) to calculate the sum of the results from, say, a VLOOKUP
that checks both the first and the second row for matching criterion.
So, given the Transaction spreadsheet, I'd like to generate the data in the Report spreadsheet - ignoring for the moment how I determine which client/account combinations are relevant in the Report spreadsheet - by adding up the values in Transactions which have the given client and account.
Transactions
CLIENT | ACCOUNT | VALUE
---------------|----------------|----------------
001 | 001 | 25.00
001 | 001 | 5.00
001 | 002 | 10.00
002 | 002 | 23.00
002 | 002 | 6.00
003 | 001 | 5.00
003 | 001 | 1.25
003 | 001 | 204.00
003 | 003 | 14.00
Report
CLIENT | ACCOUNT | TOTAL
---------------|----------------|----------------
001 | 001 | 30.00
001 | 002 | 10.00
002 | 002 | 29.00
003 | 001 | 210.25
003 | 003 | 14.00
One such situation is calculating the sum of the data ( in numbers) based on the matching values. We can combine the SUM function with the VLOOKUP function in such situations. The method is: =SUM(VLOOKUP(reference_value, table_array, index_number, match).
The entire report can be generated using the QUERY function:
=QUERY(Transactions!A:C,"select A, B, sum(C) group by A, B label sum(C) 'TOTAL'",0)
Since this appears to have been viewed rather frequently over the last two years, I thought I'd chime in with an updated answer.
SUMIFS
SUMIFS is my go-to for things like this now. It's SUMIF with multiple possible criteria. So, for something like this, one would use the following function in Report!C1
(assuming Report!1:1
is the first row of data):
=SUMIFS(Transactions!$C:$C,Transactions!$A:$A,$A1,Transactions!$B:$B,$B1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With