Forum Discussion
SUMPRODUCT with * wildcard
Hello,
I would like to use the function sumproduct for a table dealing with different projects and their financial parameters, as well as their geography (country and region). I need to synthetize the values for a particular project or a particular country or region (in which case a weighted average is necessary therefore the sumproduct came to my mind). Unfortunately, the sumproduct works well for a given project but if I need to get the synthesis for a country or region, I need to declare the wildcard * for the project and in that case, the sumproduct does not work. I found many posts indicating a partial solution (like ISNUMBER(FIND(xxxxx))), but none of them brings an answer to my problem and I cannot believe there is no smart solution for that simple issue.
Table definition (CSV):
Region, Country, Project, Turnover, Margin
Europe, Slovakia, ABC, 10, 5%
Europe, Slovakia, ABD, 15, 2%
Europe, Poland, ABB, 20, 12%
I need a formula which returns the weighted margin depending on the selected region, country or project.
Could you please help me ?
Best regards,
Frédéric
- Martin_AngostoIron Contributor
- Frederic_JCopper ContributorHi Martin, thank you for your answer. No, a simple average is not adapted unfortunately, I need to use a weighted average for the calculation of margin (weighted by the turnover actually).
- Martin_AngostoIron Contributor
Hi, sorry I misunderstood that. What about this one?
=LET(array,A2:E4,filteredArray,FILTER(array,CHOOSECOLS(array,2)=B6),partialWA,SUMPRODUCT(CHOOSECOLS(filteredArray,4),CHOOSECOLS(filteredArray,5)),partialWA/SUM(CHOOSECOLS(filteredArray,4)))
See also attached.