我有一个具有多个下拉选项的excel工作表,其中项目与工作表2中的主数据绑定。主数据包含项目及其各自的值。 现在,我使用一个公式来计算下拉列表中所选项目的总和,如下所示:
=SUMPRODUCT(ISNUMBER(SEARCH(PRODUCT,J4))*AMOUNT)
其中PRODUCT&AMOUNT是主数据,J4是多项选择下拉列表的列引用。 代码效果很好,但是无论何时我在下拉列表中选择重复项,重复项的数量都不会反映在添加代码的SUM列中。但是,使用以下公式可以很好地选择项目的数量
=IF(J4="","",(LEN(J4)-LEN(SUBSTITUTE(J4,CHAR(10),""))+1))
数据:
| PRODUCT | AMOUNT |
|---------|--------|
| Apple | 100 |
| Grapes | 200 |
| Orange | 50 |
| Mango | 500 |
| Guava | 350 |
| Cherry | 170 |
预期结果:
这是多项选择下拉菜单。在第二行中,我选择了Apple,Grapes和Orange,因此计数为350(100 + 200 + 50)。现在在第一行中,如果我再次选择苹果,那么苹果的成本应加起来,即450(100 + 200 + 50 + 100)
答案 0 :(得分:0)
通用:
您想要一个通用公式:
=SUMPRODUCT(SUMIF(PRODUCT,array,AMOUNT))
具体示例:
例如用于顶盒
=SUMPRODUCT(SUMIF(PRODUCT,FILTERXML("<t><s>" & SUBSTITUTE(B2,CHAR(10), "</s><s>") & "</s></t>", "//s"),AMOUNT))
基于您的文件:
请注意,我使用FILTERXML
从下拉选择中创建值数组。 Char(10)
用于您的新行。
请参阅我对FILTERML here的解释。
示例运行: