excel if函数超过7层,怎么改 急急急!

公式承认是不对,想用除了IF以外的办法解决
2 . f=4.5 会对应q=0.46,因为超过了4了嘛~(取大原则)
f 0.8~2 3~4 4~5 5~6 6~8 8~10 10~12 12~14 14~16 16~20

q 0.4 0.45 0.5 0.55 0.61 0.67 0.74 0.81 0.88 0.98

第1个回答  2014-12-13
用lookup来替换if,比如说
=lookup(a1,{x,y,z},{0,100,200})
就是指当x<=a1<y时为0,y<=a1<z时为100,a1>=z时为200

按这个来换掉你的if就行了,如果你要的结果一定是按你的描述来的来,用这个公式试试,假定数据从a1开始
=ROUNDDOWN(A1/5,0)*5
第2个回答  2014-12-13
=IF(AND(A1>0.8,A1<2),0.4,LOOKUP(a1,{3;4;5;6;8;10;12;14;16},{0.45;0.5;0.55;0.61;0.67;0.74;0.81;0.88;0.98}))
应为你0.8-2不连续,不然可以更简单一些!
第3个回答  2014-12-13

建议做成这种形式,=LOOKUP(A5,B1:I1,B2:I2)

追问

你做的大体是对的,但是有一个地方不对
当f=3.8时,q=0.45
怎么解决?

追答

由于你原来的数据不是表格形式,我以为3~4之间对应0.4,你把下行数据往前称一个单元格,3下面对应0.45

第4个回答  2014-12-13
=LOOKUP(A1,{0.8,2,3,4,5,6,8,10,12,14,16,20},{0.4,0.45,0.5,0.55,0.61,0.67,0.74,0.81,0.88,0.98})
这个函数可以解决你的问题,但可能在23456等这些区间边际的数上可能不符合你要求,可以用if嵌套一个lookup解决追问

边界数字23456,取小于等于号,
例如:当f小于等于2时,q=0.4
如何解决?

追答

加个if判断,把边界数字等于几先规定好(也用lookup函数),然后再刚才的lookup判断区间,
=IF(A1=OR(2,3,4,5,6,7,8),LOOKUP(A1,{2,3,4,5,6,7,8},{11,12,13,14,15,16,17}),LOOKUP(A1,{0.8,2,3,4,5,6,8,10,12,14,16,20},{0.4,0.45,0.5,0.55,0.61,0.67,0.74,0.81,0.88,0.98}))
上面公式示例中规定了2,3,4,5,6,7,8分别等于11,12,13,14,15,16,17。

追问

运行不了啊~~~~

追答

我试了,可以。
就是lookup加个if判断

本回答被提问者和网友采纳
第5个回答  2014-12-13
小于0.8怎么显示?2-3之间怎么显示?4到底是显示0.45还是0.5?大于20怎么显示?数据在哪个单元格?以上,还请楼主一一道来。

hx95追问

小于0.8怎么显示?当f=0~2,q=0.4
2-3之间怎么显示?当f=2~4,q=0.45
4到底是显示0.45还是0.5?显示0.45
大于20怎么显示?显示0.98
数据在哪个单元格?C9

小于0.8怎么显示?当f=0~2,q=0.4
2-3之间怎么显示?当f=2~4,q=0.45
4到底是显示0.45还是0.5?显示0.45
大于20怎么显示?显示0.98
数据在哪个单元格?C9

追答

那小于0呢?晕,请把所有结果都列示出来吧!

相似回答