[算表] 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