所以基本上我有一个数据表和一个映射表。 映射表通过查看部分字符串来确定每个类别属于哪个类。然后我计算出属于同一类的总值。
虽然我知道我可以通过在数据表中添加vlookup / index匹配列来实现此目的。有没有办法使用单一公式完成输出?
原因是原始数据表包含一堆vba代码所依赖的其他列,因此我不想在可能的情况下修改该表。
数据表:
Name Values
dog1 2
dog2 3
dog3 4
cat1 1
cat2 2
trout1 5
trout2 6
trout3 7
映射表:
Category Class
dog pet
trout fish
cat pet
输出:
Class Total
pet 12
答案 0 :(得分:3)
尝试这种情况:
使用索引/匹配查找类的类别,附加通配符并将其放入Sumif函数中。单元格H3中的公式如下,向下复制。
=SUMIF($A$2:$A$7,INDEX($D$3:$D$4,MATCH(G3,$E$3:$E$4,0))&"*",$B$2:$B$7)
评论后编辑:如果多个类别映射到同一个类,则公式解决方案不再可行。相反,请考虑使用Power Pivot和Excel数据模型以及表之间的关系。您将需要以下表格:
然后,您可以将这些表添加到Power Pivot中的数据模型并定义关系。
现在,您可以使用Category / Class表中的类构建一个数据透视表,该表总结了初始数据输入表中的值。
Power Pivot是Excel 2010至2013的免费插件,内置于Excel 2016的企业版。
答案 1 :(得分:2)