根据条件将长度不等的数组相乘并对结果求和

根据条件将长度不等的数组相乘并对结果求和

我的电子表格中有两个表,一个名称表:

名称表

以及一个分类表:

类别表

从以上两个公式中,我如何创建一个公式,让我在单个单元格中按类别计算成本,如下所示:

所需结果

答案1

在“输出”类别列中,H3复制公式:

=IFERROR(INDEX(E$3:E$8,MATCH(0,INDEX(COUNTIF(H$2:H2,E$3:E$8),0),0)),"")

和,

在“输出”成本栏中,I3公式复制下来:

=IF(H3="","",SUMPRODUCT(SUMIFS(F$3:F$8,D$3:D$8,A$3:A$4,E$3:E$8,H3)*B$3:B$4))

在此处输入图片描述

答案2

要获取不同的类别列表,您可以使用INDEX+AGGREGATE函数:

=INDEX(Category[Category],AGGREGATE(15,6,(1/(COUNTIF($A$11:A11,Category[Category])=0))*ROW(Category[Category])-1,1))

之后,您可以使用以SUMPRODUCT数组公式输入的函数来计算成本:

=SUMPRODUCT(([@Category]=Category[Category])*(Category[Name]=TRANSPOSE(Name[Name]))*(Category[Percent]*TRANSPOSE(Name[Cost])))

ctrl编辑后的数组公式按+ shift+确认enter

在此处输入图片描述

相关内容