EXCEL的IF函数嵌套超过七层怎么办,一共有18个范围,具体公式如下

2024-12-27 16:23:25
推荐回答(4个)
回答1:

不用这么复杂,找两列(D、E),把比较的对应关系放进去,假设要判断的数据在A1,B1是判断结果的话,那么B1=LOOKUP(A1,D1:E18)


回答2:

首先你的公式表述就是错误的,0<=F2<340这样是错误的,应该是and(f2>=0,f2<340)
其次,你的公式并不需要18层处理,你前面的只需要一个if完成4.5值的,你用了4个
而根据你的公式来看,完全可以用lookup函数处理。
=lookup(f2,{0,4.5;550,4.2;720,3.733;790,3.3667;860,2.8333;930,2.2667;1000,2.1;1070,1.6333})
在{}中写{大于等于的那个值,对应的那个值;大于等于的值,对应的值}一个对应值用分号
你自己补充进去就行了。

回答3:

可以自己在vba 环境 用 select case语句 写个自定义的函数,所有处理都在函数里做 ,表格里所要做的只有一件事 调用自定义的函数 并把数值传进去 很简单的哈
前提条件是 你知道怎样打开 excel 的vba 环境
方法:
工具-->宏-->visual basic 编辑器

在左边的工程资源管理器右键 插入-->模块

编写自定义函数
Function myFun(number) As Double
If 0 < number < 340 Then myFun = 4.5
If 340 <= number < 410 Then myFun = 4.5
......
End Function

在非F2的表格里写 =myFun(F2)
就OK了

回答4:

首先你的
公式
表述就是错误的,0<=F2<340这样是错误的,应该是and(f2>=0,f2<340)
其次,你的公式并不需要18层处理,你
前面
的只需要一个if完成4.5值的,你用了4个
而根据你的公式来看,完全可以用lookup
函数
处理。
=lookup(f2,{0,4.5;550,4.2;720,3.733;790,3.3667;860,2.8333;930,2.2667;1000,2.1;1070,1.6333})
在{}中写{大于等于的那个值,对应的那个值;大于等于的值,对应的值}一个对应值用分号
你自己补充进去就行了。