[英]Vlookup an array of formulas in Excel
我有一張桌子,兩列
ID Probability
A 1%
B 2%
C 3%
D 4%
我有另一個表,其中包含一些ID和相應的權重:
ID Weight
A 50%
D 25%
A 15%
B 5%
B 5%
我正在尋找的是一種方法,使用一個公式,使用第一個表中的數據查找第二個表中每個ID的對應概率,將每個ID乘以第二個表中各自的權重,然后求和結果。
我知道解決此問題的簡單方法是在第二個表中添加代理列,並使用vlookup並乘以權重,列出相應的概率,然后對結果求和,但是我覺得必須有一個更優雅的解決方案。
我已經嘗試在Vlookup和Index / Match公式中將第二個表ID作為數組輸入,但是盡管它們都接受范圍作為查找值,但它們都只對范圍的第一個值執行,而不是循環遍歷整個數組。
我想理想的公式是
[編輯]因此,對於上面的示例,最終結果將是(50%x 1%)+(25%x 4%)+(15%x 1%)+(5%x 2%)+(5%x 2%)= 1.85%
實際的表比我給出的示例大得多,因此可以使用用於單個vlookup的簡單Sum()函數。
想要聽到任何聰明的解決方案?
您可以使用以下公式:
{=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%
使用與TrươngNgọcĐăngKhoa相同的范圍:
=SUMPRODUCT(SUMIF(A1:A4,D1:D5,B1:B4),E1:E5)
問候
很好的回應,謝謝大家!
XOR LX,您的答案似乎在所有情況下都有效,這就是我想要的(並且似乎比我原先想的要簡單得多)。 我想我誤解了SUMIF函數的工作方式。
如果有人感興趣,我還找到了自己的(非常復雜的)解決方案:
=SUM(IF(A1:A4=TRANSPOSE(D1:D5),1,0)*TRANSPOSE(E1:E5)*B1:B4)
它基本上是通過將事物轉換為4 x 5矩陣來工作的。 我想我仍然更喜歡XOR LX解決方案,因為它很簡單。
謝謝大家的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.