Excel SUMPRODUCT is a remarkably versatile function with many uses. The aim of this tutorial is to reveal the full power of SUMPRODUCT and teach you how to compare arrays in a clever and elegant way, conditionally sum or count cells with multiple criteria, get a weighted average, and more. Continue reading
Comments page 5. Total comments: 247
I'd like assistance on something that seems easy. I want A1*B1 + A1*C1 + A1*D1
I tried SUMPRODUCT(B1:D1, {A1,A1,A1}) but that doesn't work.
Can you help? Thank you in advance!
Thanks for teaching me the sumproduct formula in details
Hi Svetlana.
I am trying to create Sumproduct formula to calculate total sum of deviations between OB and CC if deviation is >0 (I need to calculate 9). With this formula '=SUMPRODUCT(B2:I2-B3) I receive 1 that is total of all deviations. How to add a criteria >0 to the formula?
wk1 wk2 wk3 wk4
OB 17 29 25 30
CC 25 25 25 25
0 4 0 5
Thank you in advance!
This formula works for 2 criteria, Region and Name...
'=SUMPRODUCT((($D$1:$O$1>=$Q$1)*($D$1:$O$1<=$R$1))*($A$2:$A$49=$S$1)*($C$2:$C$49=$U1)*$D$2:$O$49)
Hello Eric,
Our blog engine sometimes mangles comments, sorry for this.
Your formula won't work, firstly, because D1:O1 (text values) cannot be compared to Q1 and R1 (dates); and secondly because the ranges ($D$1:$O$1, $A$2:$A$49, etc.) are of different size.
If, in your summary table (Q1 or R1), you enter the target month exactly as it is written in $D$1:$O$1, then the task can be accomplished with an array formula that you can find in this sample sheet.
D1:O1 is the months of the year
Q1=1/1/19
R1=2/1/19
A2:A49 is the Region
S1=North
B2:B49 are the Items
T1=Apples
C2:C49 is the Name
U1=Bob
D2:O49 is the data.
Cont.
D1:O1 is the months of the year / Q1=1/1/19 / R1=2/1/19 / A2:A49 is the Region / S1=North / B2:B49 are the Items / T1=Apples
C2:C49 is the Name / U1=Bob / D2:O49 is the data.
This is the formula I'm trying...
'=SUMPRODUCT((($D$1:$O$1>=$Q$1)*($D$1:$O$1<=$R$1))*($A$2:$A$49=$S$1)*($B$2:$B$49=$T$1)*($C$2:$C$49,$U1)*$D$2:$O$49)
Why is half of my message missing.
I’m trying to create a SUMPRODUCT for 3 criteria and add multiple columns. Similar to Example 3 above, but add a column to the right of Item, call it Name, and the data is for a year across columns to the right. This is the formula I'm trying...
'=SUMPRODUCT((($D$1:$O$1>=$Q$1)*($D$1:$O$1=$Q$1)*($D$1:$O$1<=$R$1))*($A$2:$A$49=$S$1)*($C$2:$C$49=$U1)*$D$2:$O$49)
I’m trying to create a SUMPRODUCT for 3 criteria and add multiple columns. Similar to Example 3 above, but add a column to the right of Item, call it Name, and the data is for a year across columns to the right. This is the formula I'm trying...
=SUMPRODUCT((($D$1:$O$1>=$Q$1)*($D$1:$O$1=$Q$1)*($D$1:$O$1<=$R$1))*($A$2:$A$49=$S$1)*($C$2:$C$49=$U1)*$D$2:$O$49)
but when I try to add in the 3rd criteria the formula returns #VALUE :( help
Hello Team, I've below table of data, I want to get total count of places which contains (3 letters and 3 digits) in its name without calculating the duplicated values (In below example I have 7 unique values).
in other cell, I would like to have same above condition, but with 2 additional conditions that the place which fall under code 5 of column B, and was recorded between 05:00 till 17:00 in column C
thank you for ur kind cooperation.
A B C
1 Place Code Time
2 LHR123 5 0:40
3 LHR123 6 18:40
4 NYC 3 7:43
5 ATL586 2 9:53
6 DFW 5 13:25
7 ORD563 5 17:11
8 NIC123 4 8:40
9
10
11 ATL586 3 10:10
12 DFW564 1 1:01
=SUMPRODUCT(--('[Source Data..xlsx]Pivot Drops to Field'!$A:$A=A7),--('[Source Data..xlsx]Pivot Drops to Field'!$B:$B=Z1),--('[Source Data..xlsx]Pivot Drops to Field'!$B:$B=AA1),('[Source Data..xlsx]Pivot Drops to Field'!$C:$C))
What is wrong with this formula?
Hello Team, I am having the below data and want to get the weighted price at the last column below and got stuck to go about. please help!
Region1 Region2 Region3 Weighted Total
mass Price mass Price mass Price mass weighted Price
300 15 200 10 250 20
can anybody helps me my problem. I need to get the total value of column C by searching
Other Sheet Column A = Column B total value Column C.
MasterSheet
Column A Column B Column C
Galley - Main Galley Pasta/Hot App/Sour/Entremetier 127.96
Fish & Seafood 33.21
Basic Prep Hot & Cold 737.50
Galley - World Cafe Menu Requisition 193.04
Meat 674.66
Galley - Chef's Table Menu & Basic Prep 994.88
Meat 1,444.70
OtherSheet
Column A Column B Column C
Galley - Main Galley Basic Prep Hot & Cold 283.63
Galley - Main Galley Basic Prep Hot & Cold 244.12
Galley - Main Galley Pasta/Hot App/Soup/Entremetier 127.96
Galley - Main Galley Basic Prep Hot & Cold 209.74
Galley - Main Galley Fish & Seafood 33.21
Galley - Manfredi's Menu & Basic Prep 232.84
Galley - World Cafe Menu Requisition 193.04
Galley - World Cafe Meat 674.66
Galley - Chef's Table Menu & Basic Prep 127.30
Galley - Chef's Table Menu & Basic Prep 333.21
Galley - Chef's Table Meat 1,444.70
Galley - Chef's Table Menu & Basic Prep 534.36
i know only for one column search see below sample only
=SUMPRODUCT(('OtherSheet'!$A$1:$A$10='MasterSheet'!A1)*('OtherSheet'!$C$1:$C$10))
thank you in advance..
Hi
I have a challenge for you guys out there :)
I have the following scenario:
Excel Sheet 1 :
A1 : Apples
A2 : Oranges
A3 : Watermelon
A4 : Lemon
...etc...
A30 : Strawberry
I would like to use ALL the above as criteria on which to base my SUMIF, i.e. if A3 : Watermelon is removed from the list, my SUM should not return @watermelon' values but should return all the rest ....
Any ideas ?
Thanks
Brian
#Paul [4/18/2018]:
Your formula:
=SUMPRODUCT((A6:A31="1217000")*(B6:B31="17")*(C6:C31))
> Excel will treat your second factor, "(B6:B31="17")", as a string value, "17", if you enclose the value in quotes.
> Either you have to (1) reformat the cells in col. B so that they are "Text", or (2) remove the quotes from the "17" in the formula.
=SUMPRODUCT((A6:A31="1217000")*(B6:B31=17)*(C6:C31))
> Does it work now?
#Sharon [7/17/2018, 4:02 PM]
> Your formula is:
=SUMPRODUCT((BalDate<=($A5+(ROW($A5)/86400)))*(Type="D")*(BankCode=$H5)*(Amount))-SUMPRODUCT((BalDate The formula has two identical subformulas. the first one sums the Type="D" items, where BankCode = $H5 and the Balance Dates that are greater than or equal to the term, "($A5+(ROW($A5)/86400)" the second one does the same thing, but with the Type="W" items. Then the answer equals the first summed amounts minus the second summed amounts.
> I don't understand the working of the term, "($A5+(ROW($A5)/86400)", other than the "86400" factor will convert seconds to days...
> What are some of typical values in the cells of col. A? What is the cell format?
> Is this formula in your firm's cashbook workbook producing accurate results? I would guess that it isn't! Hopefully you will provide us some more insights. Thanks, #Sharon.
#Mark Turkenberg:[7/1/2018, 1:00AM]
> Your formula is:
=SUMPRODUCT(--($H$32:$H$34="Mark"),--($I$31:$L$31="Q1"),I32:L34)
> Is your data in rows 32:34, or 31:34?
> For SUMPRODUCT to work, the data has to be in the same rows and columns. "The array arguments must have the same dimensions." I think your data is either in the range I32:L34 or the range I31:L34.
> I'm going to guess that col. H contains names, col. I contains the quarters (e.g. "Q1"), and col. L contains an amount.
> Your formula's 2nd term, --($I$31:$L$31="Q1"), seems to require that all four cells I31:L31 contain the value "Q1". I don't think that's what you mean. And it's not clear whether row 31 is in your table I32:L34.
> I think you want the 3rd term, "I32:L34", to include the values in one column only (I, J, K, or L), not all the values in all those columns.
> I'm going to assume that your data is in the range I32:L34, and the amounts are in col. L.
> If my guesses are correct, then this ought to work:
=SUMPRODUCT(--($H$32:$H$34="Mark"),--($I$32:$I$34="Q1"),$L32:$L34)
> Note that, in each of the formula's terms, the range specified has the same rows and one column only; otherwise, you haven't defined a valid range of data.
> Please let me know if that helps, OK?
Name startingD END DT AMT
A 01-01-08 05-01-08 4
b 02-01-08 06-01-08 4
Output be with only someproduct functions plz,
date b a
01-01-08 4
02-01-08 4 4
03-01-08 4 4
04-01-08 4 4
05-01-08 4 4
06-01-08 4
Hello, what functions should I use to count the number of items that the North sell? (My table contains around 1000 rows, it scares me somehow, please help). Thank you.
A B C
1 Sl No Name No of Items
2 1 North 20
3 2 Divakara 25
4 3 Suhasini 100
5 4 North 88
6 5 Soumya 101
The forumula to count the number of items that the North sell is:
=sumif(B2:B6,"North", C2:C6). It will return answer 108.
Hi
I am want to understand the logic in this formula from a cashbook workbook. Please help.
=SUMPRODUCT((BalDate<=($A5+(ROW($A5)/86400)))*(Type="D")*(BankCode=$H5)*(Amount))-SUMPRODUCT((BalDate<=($A5+(ROW($A5)/86400)))*(Type="W")*(BankCode=$H5)*(Amount))
Thanks
Hi,
I have always used the multiplier to calculate SUM for multiple criteria (column and rows) & was trying the same using the double unary operator but it keeps returning a #value error
The formula is:
=SUMPRODUCT(--($H$32:$H$34="Mark"),--($I$31:$L$31="Q1"),I32:L34)
Could you please help what is incorrect about this formula - trying to understand the logic!
Thanks
Great article!
I've struggled to apply the sum-product formula to reference Table arrays. It always returns a #Value! error. The same formula will work perfectly on a range of the same data. Can anyone offer advice?
Great article!
I've struggle to apply the sum-product formula to reference Table arrays. It always returns a #Value! Error. The same formula woill work perfectly on a range of the same data. Can anyone offer advice?
Hi,
Plz provide unique count qty formulas.
Hello!
I'm struggling with a weighted average using same column. Any advice is appreciated.
Example table:
Section Indicator Type Data
Sec1 IndA x 100
Sec2 IndB x 20
Sec n Ind m -- number
Weighted average using criteria Section, Indicator, and Type.
Basically, for Type X to make Indicator B weighted average using Indicator A.
As a note, the table is really big and there are may indicators and types. however, the consolidation is to be per type. Section is an additional filter as one indicator (with different unit of measure) may appear in other section. Using this filter will assure consistency.
Thank you in advance for your time and help!
Hi, I am trying to sum sales data in a table based on 2 criteria, where the 2nd criterion is actually a range. The sumifs formula below worked fine when the 2nd criterion was a single value rather than a range.
I need the formula to effect "sum if sales terr matches a cell AND product family matches any values in the range". I appreciate any help. Thanks
I need to sum sales data per these criteria:
1. sales territory as defined in column E in worksheet2 (in the formulas below)... I am copying the formula down a table so the territory flows e2, e3, e4, and so forth.
2. product family matches ANY one of the values in a range
=sumifs('raw data file'!SalesData,'raw data file'!Sales_Terr,$e2-sales_terr cell_in_worksheet2,'raw data file'!ProductFamily,worksheet2!(C2:C11))
=sumproduct(('raw data file'!Sales_Terr=$e2),*('raw data file'!ProductFamily={worksheet2!(C2)}+('raw data file'!ProductFamily={worksheet2!(C3)} .. etc.. 'raw data file'!SalesData))
How if I want to know, how many types of fruits that sold in north??
Hello,
How do write sumproduct function to calculate sum of contribution within months using the person name and type of contribution as a criteria.
E.g. assuming you have some staffs that do different type of contribution monthly. And you need a summary that gives you amount contributed by each person per month in each category of contribution
Help out
What is the correct sumproduct formula to calculate the total amount for account=1217000 and fy=18? I have tried the following, which calculates a result of 0, not 50,000.00:
=SUMPRODUCT((A6:A31="1217000")*(B6:B31="17")*(C6:C31))
Here is the worksheet.
Line 6 begins at the first row containing the numbers.
A B C
Account FY Amount
1210000 17 50,000.00
1217000 17 25,000.00
1210000 15 300,000.00
1212080 18 25,000.00
1217000 05 100,000.00
1212080 18 100,000.00
1210000 05 6,947.35
1212080 18 50,000.00
1212023 18 67,950.00
1217000 18 50,000.00
1210000 16 1,800,000.00
1210000 17 150,000.00
1210000 18 500,000.00
1212080 18 25,000.00
1212020 17 5,000.00
1210000 18 100,000.00
1210000 17 25,000.00
1212016 17 170,000.00
1212025 18 150,000.00
1210000 17 5,000.00
1217000 17 25,000.00
1212080 18 10,000.00
1217000 14 5,000,000.00
1217000 17 500,000.00
1212015 17 1,000,000.00
1212026 17 50,000.00
This has been driving me crazy.
Thanks.
Hi Paul
Today I read your problem.
Simply remove the quotes from the values
=SUMPRODUCT((A6:A31=1217000)*(B6:B31=17)*(C6:C31))
Regards
how can I use this to work over multiple sheets??
Good information. Took little bit to understand but once understood it went with flying colors.
Important finding is one has to multiply the condition to both sum product columns and it works.
Thanks for posting such detailed information.
Is it possible to use sumproduct to return results based on two different inputs?
A1 = "Month:" B1 = Input
A2 = Input B2 =Output
A3 = Animals
A4:L4 = Month Names
A5:L5 = Monetary Value
So Basically I enter the Month I want values from in B1
And in A2 I enter the Category, in this case Animals, and in B2 I get the value associated with the lookup from Selecting Animals Feb..
Is this possible?
Hi
How can I do the product sum of data where one of the two factors to be multiplied is the difference between two other numbers in separate columns. Is it possible to do this without creating a new column with the difference in the numbers, instead incorporating this calculation in the sumproduct formula?
Peter
Hi, I a m looking for a formula to resolve the below issue. I have unique Employee ID with duplicate Leaves. I want to highlight duplicate or overlapped leaves (start Date and End Date) under 'My Remark' column.
Appreciate your assistance.
ID# Start Date End Date My Remark
166 04-Sep-17 08-Sep-17 Duplicate Leave
166 04-Sep-17 04-Sep-17 Duplicate Leave
166 03-Sep-17 05-Sep-17 Duplicate Leave
236 01-Sep-17 01-Sep-17 Duplicate Leave
236 01-Sep-17 01-Sep-17 Duplicate Leave
243 30-Nov-17 30-Dec-17 Duplicate Leave
243 01-Dec-17 10-Dec-17 Duplicate Leave
252 01-Dec-17 10-Dec-17 No Duplicate
252 01-Nov-17 10-Nov-17 No Duplicate
Hi: I'm wondering if I can use Sumproduct for two sets of arrays? here is what I want to do but it is not recognizine the "+". I am getting only the result for the first array:
=SUMPRODUCT(--('Pivot RI'!$B:$B=Summary!$A6),--('Pivot RI'!$A:$A=Summary!H$1),--('Pivot RI'!$F:$F=Summary!$B8),'Pivot RI'!$H:$H)+SUMPRODUCT(--('Pivot NV'!G:G=Summary!$A7),--('Pivot NV'!F:F=Summary!H$1),--('Pivot NV'!$F:$F=Summary!$B8),'Pivot NV'!$H:$H)
So can I not add the information from two seperate data sheets?
Thank you so much!!
Using COUNTIFS and Logical OR
For the equation below:
COUNTIFS($D2:$D$5590,1,$A$2:$A$5590,1008,$B$2:$B$5590,"LINE", $C2:$C$5590, {100,110,120,140,”WAAP”}),
How can I use the last part to count if it is 100 or 110 or 120 ….
Maybe the answer is SUMPRODUCT, but it didn't work. Could you please advise. Thank you
I have an interesting problem I cant figure out! I have a file which might make it easier but I will try to explain.
I have 4 worksheets in one workbook. Datasheet, Homeloans, YR2, Table.
On Datasheet in M2 I have a Date formatted as d-mmm-yy
On Homeloans I have Dates from A1:L1 which are derived from the date on Datasheet =DATE(YEAR(Datasheet!$M$2),MONTH(Datasheet!$M$2)+0,1) that progress up to =DATE(YEAR(Datasheet!$M$2),MONTH(Datasheet!$M$2)+11,1) in L1
In A2:L2 I have values entered
On YR2 I have the same setup. The date system is setup to look like a fiscal year instead of a calendar year.
On the Table sheet from B1:Y1 I have dates. B1 uses the formula =IF(Datasheet!M2"",TEXT(Datasheet!M2,"d-mmm-yy"),"Jan") B2 uses =IF(OR(B$1="",B$1=""),"",TEXT(EDATE(B$1,1),"d-mmm-yy")) and is propagated to Y1.
In B2:Y2 I am using this formula =SUMPRODUCT(--(TEXT(Homeloans!$A$1:$L$1,"d-mmm-yy")=B$1),Homeloans!$A$2:$L$2) with it changing respectively to Y2
This is the tricky part.
On Table, Cell C18 I have a data validation list setup to select a year number
On Table, E18 I have formula =SUMPRODUCT(--(RIGHT(TEXT($B$1:$Y$1,"d-mmm-yy"),1)+0=$C$18),$B$2:$Y$2)
Here is the problem.
If I set the date on Datasheet to 1/11/2011 and I select year one on C18 on the Table sheet, I get the correct sum on E18.
If I change the date on Datasheet to 1/11/2012 it flips the value in E18 to zero. This is the weird part. If I change the value in C18 to 2 for second year, then it gives me the correct sum. So I played with the formula
=SUMPRODUCT(--(RIGHT(TEXT($B$1:$Y$1,"d-mmm-yy"),1)+0=$C$18),$B$2:$Y$2) and found that if I change the highlighted part to +-1 then select year one again, it gives me the correct sum.
It sort of does what I need it to do but the problem is for every date set I will have to go in and change that value up and down the number line according to the date on Datasheet and that just isnt going to work. It need to be dynamic and pull values based on the year the values show up in.
So if a payment is entered for example on 1/11/11 as the first payment and the second payment on 1/12/11, and I want to know the totals for the first year of the loan, it should only give me that value in E18.
Any help in resolving this would be greatly appreciated. Im running out of forehead to bang against the wall!
Regards,
D
Hello,
For me to understand the problem better, please send me a small sample workbook with your source data and the result you expect to get to support@ablebits.com.
Please also don't forget to include the link to this comment into your email.
I'll look into your task and try to help.
VALUE 100 500 600 700 800 900
TOTAL QTY.
RAM 10 1 2 3 4
MOHAN 24 2 3 1 6 7 5
SOHAN 31 2 3 4 6 7 9
VIMAL 28 1 1 5 6 7 8
need to value of each person wise
Hi, thank you so much, this page was a great help. I have one case that I need some help. I noticed that when I use sumproduct with an OR connection, the values provided are not TRUE or FALSE (e.g. TRUE,FALSE+TRUE,FALSE resulting in {2,0}) How can I have a TRUE/FALSE output?
I want to know in how many rows either or both of the conditions appear, and not the count of every occurance.
Thank you for your help!
hello, I found a solution, the resulting array e.g. {2,0} can be adapted like this: --{2,0}>0 to result in {1,0}
=SUMPRODUCT(--('Excel - Full Data'!$D$4:$D$2100="WCCI"),('Excel - Full Data'!$K$4:$K$2100>0)*('Excel - Full Data'!$K$4:$K$2100<5000)*('Excel - Full Data'!$K$4:$K$2100))
Am I able to add an Additional parameter which includes "WCCI - TS" to the "WCCI" for $D$4:$D$$2100 range?
Any help would be greatly appreciated
Hello,
If I understand your task correctly, please try the following formula:
=SUMPRODUCT((('Excel - Full Data'!$D$4:$D$2100="WCCI")+('Excel - Full Data'!$D$4:$D$2100="WCCI - TS")),('Excel - Full Data'!$K$4:$K$2100>0)*('Excel - Full Data'!$K$4:$K$2100<5000)*('Excel - Full Data'!$K$4:$K$2100))
Hope this will work for you
Finding the double unary operator has been so helpful! I currently have very large files that I am creating tables for and can't get this equation to work. I am wondering if there is a row limit for the formula, since this is the largest list I am working with.
SUMPRODUCT(--('Master List'!$B$2:$B$11091=$A$1),--('Master List'!$F$2:$F$11091""),--(MONTH('Master List'!$F$2:$F$11091)='Data Table - DO NOT DELETE'!F$3),--(YEAR('Master List'!$F$2:$F$11091)='Data Table - DO NOT DELETE'!F$2))
Note, the only part of this equation that breaks when providing an answer is the month and year. I do have a formula in column F, however this shouldn't make a difference.
A big "Thank you" for helping me out in understanding Sumproduct function
This has been super helpful! My tables have been more efficient since finding double unary operator. The only challenge is that there is not a lot of help to troubleshoot. I have a simple equation that won't calculate. When I look at the functional arguments, I don't see any errors on my arrays.
My equation: SUMPRODUCT(--('Data Input'!B4:B37='All-up Burndown Chart'!A2),'Data Input'!F3:F37)
If column B (which is a list of buildings) equals a building number identified in cell A2, then sum the fields in column F.
Any thoughts on why I'm not getting an output?
Please help me to sum below 2 array...
I want to add particular value of column 4 in column 2 if condition of column 1&2 satisfy, example I want to add Jan month value to each date of Jan month.
02-01-2017 414.748 JAN 312.6446
04-01-2017 476.886 FEB 796.09325
05-01-2017 409.566 MARCH 358.3840417
06-01-2017 398.519 APRIL 241.6108077
01-02-2017 1051.862 MAY 94.96810345
03-02-2017 790.097 JULY 9.945451613
04-02-2017 563.685
05-02-2017 463.103
09-03-2017 855.292
10-03-2017 957.937
11-03-2017 1056.677
12-03-2017 1077.678
13-03-2017 1569.847
Hi Ma'am I just want to say thank you. You are so kind and brilliant, I wish I can be like you someday. Thank you so much. You are an inspiration to me, please continue helping people like me. ^_^
kindly tell me how to get the total of two items through Sumproduct formula...
Hi
I have a table of profit and loss information running for a whole year but I want to set up a formula that will calculate the year to date position. eg I type in June and the financial info say revenue from January to June is added together. Tried initial using an array and could do this with a basic =if function but there must be a better way.
thanks Paul
Hi Guys,
I need some help in excel formula
I have some data with city name and numbers so just i wanted to identify the only unique values using only formula.
Data is like that
A B
City Number
A 123
B 456
A 678
A 123
Thanks in advance!
Hello, Amol,
To highlight the unique values, please select the column with the data, then on the Home tab, in the Styles group, click Conditional Formatting > Highlight Cells Rules > Duplicate Values. In the next pop-up window select Unique, choose the colour and press OK.
You can learn more on how to apply conditional formatting for uniques or duplicates in this article.
Please note that if you want to use the formulas, the values will be either simply counted or transferred to another columns. If this is what you need, please specify.
Used =sumproduct(1/countif(array1,array2)) to count unique values in a column with duplicates but once table is filtered the answer doesnt change.
funny site not accept formulas in text..
SUMPRODUCT((F9lessthan{0.01,1,5})
ASTERISK
parenthesisMIN(M9:N9)greaterthan{1,3,9}))
Nice workaround to assist with a formula, Dave!
Thanks for your persistence! :)