[算表] excel if 多層的問題

作者: pilipalabon (...)   2018-12-07 11:11:29
軟體: excel
版本: 2010
請問, 我有一個算表, 列出不同各種的資料, 大概像下面這樣:
Index Content Scaling
0 20 1.00513
0 30 1.00233
... xx 1.00111
1 22 1.12315
1 33 0.95874
... xx ...
40 55
40 66
解釋一下上圖就是, 有40條index, 每一條的內容有很多, 大概2000多筆吧..
那每一條會有一個Scaling. 以資料量來看, Index/Content大約有6萬多筆, Scaling
就是40個 (幾個Index就有幾個Scaling)
我想要一個公式可以將index=0的Content乘上Scaling後顯示在另一欄. 目前用
比較笨的方法 :
=IF(P2=0,M2*Y$2,IF(P2=1,M2*Y$3,IF(P2=2,M2*Y$4, ....
但輸入40條資料後, excel會顯示引入太多參數.
請問大家有甚麼方法嗎? 或關鍵字讓我google, thanks!
作者: soyoso (我是耀宗)   2018-12-07 11:17:00
做個參照表,用vlookup回傳如https://i.imgur.com/rl3kvi8.jpg
作者: Tokaku (慵懶貓的下午)   2018-12-07 11:26:00
=if($P2="...","",$M2*index($Y$40,$P2,1))要學的話關鍵字「查表函數」
作者: soyoso (我是耀宗)   2018-12-07 11:31:00
index不是這樣用的index的array只指定一個儲存格p2為2以上就會回傳錯誤值index(y:y,p2+2)的方式offset的話offset(y$2,p2,)indirect的話indirect("y"&p2+2)https://i.imgur.com/tfrZZxH.jpg
作者: pilipalabon (...)   2018-12-07 11:47:00
@soyoso, 完全符合需求, 謝謝!!其他你列出的我還要再查查看, 沒想到方法真多
作者: Tokaku (慵懶貓的下午)   2018-12-07 13:25:00
我少打範圍了,謝謝soyoso大提醒。

Links booklink

Contact Us: admin [ a t ] ucptt.com