我有一个有两列的表
ID Probability
A 1%
B 2%
C 3%
D 4%
我有另一张桌子,有一些ID和相应的权重:
ID Weight
A 50%
D 25%
A 15%
B 5%
B 5%
我正在寻找的是一种方式,在单个公式中,使用来自第一个数据的数据为第二个表中的每个ID找到相应的概率,将它们各自的权重乘以第二个表,然后对结果求和。
我认识到解决它的一个简单方法是将代理列添加到第二个表并使用vlookup列出相应的概率并乘以权重,然后对结果求和,但我觉得必须有一个更优雅溶液
我尝试在Vlookup和Index / Match公式中将第二个表ID作为数组输入,但是虽然两者都接受范围作为查找值,但两者都只执行范围的第一个值而不是循环通过整个阵列。
我认为理想情况下公式
[edit]因此对于上面的例子,最终结果将是(50%x 1%)+(25%x 4%)+(15%x 1%)+(5%x 2%)+( 5%x 2%)= 1.85%
实际表格比我给出的示例大得多,因此单个vlookup的简单Sum()函数已经用完了。
喜欢听到任何聪明的解决方案吗?
答案 0 :(得分:0)
您可以使用以下公式:
{=SUM(LOOKUP(D1:D5;A1:A4;B1:B4)*E1:E5)}
使用此表:
A B C D E
1 A 1% A 50%
2 B 2% D 25%
3 C 3% A 15%
4 D 4% B 5%
5 B 5%
答案 1 :(得分:0)
使用与TrươngNgọcĐăngKhoa相同的范围:
=SUMPRODUCT(SUMIF(A1:A4,D1:D5,B1:B4),E1:E5)
此致
答案 2 :(得分:0)
很棒的回答,谢谢你们!
XOR LX,你的答案似乎适用于所有情况,这正是我所寻找的(而且看起来它比我原先想象的要简单得多)。我想我误解了SUMIF函数的工作方式。
如果有人感兴趣,我也找到了自己的(愚蠢复杂的)解决方案:
=SUM(IF(A1:A4=TRANSPOSE(D1:D5),1,0)*TRANSPOSE(E1:E5)*B1:B4)
这基本上可以通过将事物转换为4 x 5矩阵来实现。我认为我更喜欢XOR LX解决方案,因为它很简单。
感谢每个人的帮助!