
收到粉丝提问:怎么用excel公式表达某单元格数值 如果相较于标准值 增减幅在10%以内得1分,增减幅超过10%之后每增加3%,累计加0.01分,每减少3%,减0.005分的公式?

由于题主没有给到相关的数据,那么假设标准值在D2单元格,需要计算的数值位于A列,以随机数作为例子来分享具体做法。
首先我们来缕清题目,题主所描述的题干中得知,所有的计算围绕一个标准值开展,条件有三:
条件一是增减幅在10%以内得1分,即(A2-D2)/D2的结果为-10%~10%得1分;
条件二是增幅超过10%之后每增加3%,累计加0.01分;
条件三是减幅超过-10%之后每减少3%,减0.005分。
基于存在多个条件返回指定值情况下,可以使用IF判断函数结合一些数学运算函数来计算得分。可以在B2单元格输入下面的公式:
公式1:IF+AND
=IF(AND((A2-$D$2)/$D$2>=-10%,(A2-$D$2)/$D$2<=10%),1,IF(A2>$D$2,1+((A2-$D$2)/$D$2-10%)/3%*0.01,1-((A2-$D$2)/$D$2+10%)/(-3%)*0.005))

解释公式:
1、(A2-$D$2)/$D$2:计算实际值与标准值之间的相对增减幅。
2、AND(…>=-10%,…<=10%):表示增减幅在10%以内,这部分作为第一个条件。
3、1+((A2-$D$2)/$D$2-10%)/3%*0.01:表示增幅超过10%之后每增加3%,累计加0.01分;
4、1-((A2-$D$2)/$D$2+10%)/(-3%)*0.005:表示减幅超过-10%之后每减少3%,减0.005分;
5、IF(AND(…),1,IF(A2>$D$2,…,…)):通过IF函数按照指定的条件,返回想要的值,达到计算得分的效果。
公式2:IF+ABS
=IF(ABS((A2-$D$2)/$D$2)<=10%,1,IF(A2>$D$2,1+ABS((A2-$D$2)/$D$2-10%)/3%*0.01,1-ABS((A2-$D$2)/$D$2+10%)/3%*0.005))

解释公式:
1、ABS((A2-$D$2)/$D$2:计算实际值与标准值之间的相对增减幅,并转为绝对值。
2、ABS((…)<=10%:表示增减幅在10%以内,这部分作为第一个条件。
3、1+ABS((A2-$D$2)/$D$2-10%)/3%*0.01:表示增幅超过10%之后每增加3%,累计加0.01分;
4、1-ABS((A2-$D$2)/$D$2+10%)/3%*0.005:表示减幅超过-10%之后每减少3%,减0.005分;
6、5、=IF(ABS(…,1,IF(A2>$D$2,…,…)):通过IF函数按照指定的条件,返回想要的值,达到计算得分的效果。
公式3:IF+ABS+INT
=IF(ABS((A2-$D$2)/$D$2)<=10%,1,IF(A2>$D$2,1+INT(ABS((A2-$D$2)/$D$2-10%)/3%)*0.01,1-INT(ABS((A2-$D$2)/$D$2+10%)/3%)*0.005))

解释公式:
1、ABS((A2-$D$2)/$D$2): 计算实际值与标准值之间的相对增减幅,并转为绝对值。。
2、ABS(…)<=10%:表示增减幅在10%以内,这部分作为第一个条件。
3、INT(ABS(…-10%)/3%):计算增幅超过10%之后,增加了N个3%,并向下取整。
4、INT(ABS((…+10%)/3%):计算减幅超过-10%之后,增加了N个3%,并向下取整。
5、1+INT(ABS(…-10%)/3%)*0.01:表示增幅超过10%之后每增加3%,累计加0.01分;
6、1-INT(ABS((…+10%)/3%)*0.005:表示减幅超过-10%之后每减少3%,减0.005分;
7、7、IF(ABS(…)<=10%,1,IF(A2>$D$2,…*0.01,…)*0.005)):通过IF函数按照指定的条件,返回想要的值,达到计算得分的效果。
通过以上分享的公式,就可以按题主指定条件计算得分。实际使用时,请将公式中的A2和D2替换为您需要计算的具体单元格地址哦!若还有疑问,欢迎留言~
想了解更多精彩内容,快来关注