急求!!下列情况如何设置Excel公式?感谢!

下列情况如何设置Excel公式:小王、小张、小李风险预警等级分别为一级预警、二级预警、三级预警。如果小王、小张、小李满足期初数值小于200,则可下调一个等级,即三级预警变为无,二级预警变为三级预警,一级预警变二级预警?求教如何设置if函数?

    公式如下:

    =IF(B2<200,IF(C2+1>3,"无",C2+1),C2)

    效果如图:

追问

你好,我算出的值是#value啊!能按这个帮我示例一下D1公式吗?
A1 B1 C1 D1
姓名 期初 计算等级 优惠等级
小王 100 一级 如果期初<200,则下调一级,即变为二级
小张 50 三级 如果期初<200,则下调一级,即变为无
小李 300 二级 如果期初<200,则下调一级,即等级不变

追答

一级,二级,三级用数字表示即可。

追问

您好,我明白了,我用1、2、3代替,然后再替换成一级、二级、三级,那我如何替换呢?这个公式如何设置,

追答

1就是1级,不用替换了,可以设置单元格格式就行了:

追问

可是数字1级没有办法变成大写的一级啊!

追答

为什么非要变成大写的“一”?非要也可以:

追问

没事了,我用替换就行。非常感谢您哈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-27

C2输入公式:=IF(B2<200,LOOKUP(A2,{"人名1","二级预警";"人名2","三级预警";"人名3","无"}),LOOKUP(A2,{"人名1","一级预警";"人名2","二级预警";"人名3","三级预警"}))

追问

我有200个人名啊,这个是不是会比较复杂啊?

第2个回答  2018-04-27
预警数下调?按我的理解是改变原单元格数据,这是不能有公式的,因为根据本身已有的数据来改变,也就是说函数需要调用自身,这在一般情况下是不被允许的。
这只能用VBA来完成,假设A列姓名、B列期初数值,C列风险等级。如果是B列输入期初数值,根据输入的数值来自动完成C列调等级,则用Worksheet_Change事件来完成;如果是B列已有数据,现在统一调整C列数据,则需要编制一个sub过程,以后一种情况为例(前面一种情况,也可以等输入完成后执行该过程来完成),代码如下:
Sub 调级()
With Sheet1
For i = 2 To .Cells(65536, 1).End(xlUp).Row
If .Cells(i, 2) < 200 Then
Select Case .Cells(i, 3)
Case "一级预警"
.Cells(i, 3) = "二级预警"
Case "二级预警"
.Cells(i, 3) = "三级预警"
Case "三级预警"
.Cells(i, 3) = "无"
End Select
End If
Next
End With
End Sub
第3个回答  2018-04-27