乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>公式:对于上面的值,如果大于70%,则<em>每增加1%

<em>excel</em>公式:对于上面的值,如果大于70%,则<em>每增加1%

作者:乔山办公网日期:

返回目录:excel表格制作


这个过于复杂,需要用vba写一个函数。

你可以试试,ALT+F11打开vba编辑器:复制下面的代码:


Public Function fen(w, j)
Dim a, b
If w - j < 0 Then
a = (j - w) / j
a = Application.Round(a, 2)
Select Case a
   Case Is < 0.1
   b = 20
   Case 0.1 To 0.2
       b = 20 - (a - 0.1) * 100 * 0.1
   Case 0.2 To 0.3
       b = 20 - (a - 0.2) * 100 * 0.2
   Case 0.3 To 0.4
       b = 20 - (a - 0.3) * 100 * 0.3
   Case 0.4 To 0.5
       b = 20 - (a - 0.4) * 100 * 0.4
   Case Else
       b = 20 - (a - 0.5) * 100 * 0.5
End Select
If b < 0 Then
b = 0
End If
ElseIf (w - j) / j > 0.05 Then
b = 20 + ((w - j) / j - 0.05) * 10
Else
b = 20
End If
fen = b
End Function

然后在excel里输入=fen(A2,B2) 如图:

即可。如果有不对的地方,e799bee5baa6e79fa5e98193e4b893e5b19e365请编辑vba代码相关数值。



假如数据在A1
B1输入公式=TEXT(IF(A1<=70%,0,MIN(IF(A1>70%,A1+(A1-70%)*2),100%)),"#%")

看图

c2输入公式:=AND(B2/$G$1>=1,B2/$G$1<=1.3)*(2-(B2/$G$1-1)*20)+AND(B2/$G$1<1,B2/$G$1>=0.9)*(2-(1-B2/$G$1)*10)

下拉



是你的基数在a列,在b2输入:

=if(a2<55%,-20*(55%-a2)+if(a2<45%,20*(45%-a2)-20(50%-45%),-20*(50%-a2)),if(a2=55%,(65%-55%)*20+(79%-65%)*10,20*(a2-55%)-if(a2<65%,0,10(a2-65%))))*100
函数解析:zd
1、当基数小于55%时,取每减小1%减少20,当不小于45%时额外每1%减少20,但当基数小于45%后,数值不再减小。
2、当基数等于55%时,取79%的系数值。
3、当基数大于55%时,取每增加1%增加20,当大于65%时,将原先每增加1%增加20减少到增加10。

相关阅读

关键词不能为空
极力推荐
  • <em>JAVA</em>利用poi如何向<em>excel</em>已

  • 有很多格式完全一样的百Excel文件,只是每个Excel里面有很过工作薄,而这些工作薄的数据格式都相同度,只是数据内容不同知。 我想实现的是这样的Excel有很多,我就是想把这些Excle里

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网