实战①:双十一的“满额减”用公式怎么计算?看看你能写出几个公式

马上双十一了,逛电商平台,不管是天猫、京东、还是当当,到处都是促销活动的信息,比如前二天当当网18周年庆《“偷懒”的技术:打造财务Excel达人》售价64元,满100减50。“满额减”作为一种常见的优惠促销形式,在零商行业很常见。并且作为消费者,也想弄清楚,到底买多少才优惠。因而本文就以此为案例,来探讨一下如何用公式计算折扣额。

硬广告:

练习题059


当当网十八周年庆《“偷懒”的技术:打造财务Excel达人》满100减50(单本售价64元),比如,买二本价格是64*2,折扣额就是50,实际售价为78元。

请用公式计算购买1本到20本所对应的折扣额。

要求:

用不同的函数编制公式,能编制出二个公式得分60,4个得80分,5个以上100分

解题思路


公式1:

满额减,顾名思义,要满了指定的金额才减除零头,如果没有达到指定的金额,就没有折扣。根据此特点,我们首先想到的就是除以指定的金额,然后取整,再乘以折扣额。

=INT(B8/100)*50

INT是英文单词integer的缩写,语法结构:

=INT(数字)

公式2:

上面的公式中B8/100,然后取整,这个特点和ROUND函数第二参数为负时有点类似。比如公式“=ROUND(123,-1)”计算结果为120,只是这个ROUND会四舍五入,

比如=ROUND(128,-1)计算结果为130。这并不是我们需要的。

Excel中有一个截尾取整的函数TRUNC,他可以截掉指定的小数位后面的小数,指定的小数位可以为负数。为负数时,就会将小数点左边指定的位数变为零。比如TRUNC(123,-1)结果为120,TRUNC(128,-1)结果也是120。因而我们可以使用TRUNC来计算满额减

=TRUNC(B8,-2)/2

公式3:

=FLOOR(B8,100)/2

FLOOR英文单词的意思是“地板”,此函数的作用是往下取到指定的倍数(按绝对值减小的方向)。

也可以用FLOOR的双胞胎函数CEILING

=(CEILING(B8,100)/2)-50

CEILING是天花板的意思,此函数的作用是往上取到指定的倍数(按绝对值变大的方向)。

公式4:

=ROUNDDOWN(B8,-2)/2

同样,也可用ROUNDDOWN的双胞胎函数

=ROUNDUP(B8,-2)/2-50

公式5:

=(B8-MOD(B8,100))/2

前面的公式都是利用数学类的函数来编制公式,实际上我们还可利用文本类的函数来编制。

我们先来看一下规律。在以前的文章说过,我们编用Excel编制公式解决问题时,一定不要先去想该用什么函数,而应该是先琢磨总结数据的规律,找到规律后,再来想如何用来实现。然后才找对应的函数。

比如本案例,我们分析规律后就可发现,实际上要计算的折扣,都是金额的百位数乘以50,也就是用函数把数字最左边的那位提取出来,然后乘以50就是了。而要提取最左边的那个数,用到的函数就是LEFT。

因而,可以用LEFT编制公式:

公式6:

=LEFT(B8,LEN(B8)-2)*50

当然,这个公式在数字只有二位时会出错,所以可以用二种方法解决

穿一件IFERROR的外套,粉饰太平

公式6.1:

=IFERROR(LEFT(B8,LEN(B8)-2)*50,0)

在数字前补足0

公式6.2:

=LEFT(TEXT(B8,"0000"),2)*50

公式6.3:

将数字除以100,再来找到小数点的位置,除小数点左边的值再乘以50(此公式由🇽🇪E🇿E🇪和🇨ao🇨ao刂提供)

=LEFT(B8%,FIND(".",B8%)-1)*50

公式7:

=(B8-RIGHT(B8,2))/2

公式8:

实际上我们还可将REPLACE函数,直接将数字最后二位替换为0。然后

=REPLACE(B8,LEN(B8)-1,2,"00")/2

另外还可使用LOOKUP和VLOOKUP的模糊查找来实现,但是由于这二个函数是先人工算出结果再查找。严格上来讲,并不符合要求。

=VLOOKUP(B8,{0,0;100,50;200,100;300,150;400,200;500,250;600,300;700,350;800,400;900,450;1000,500;1100,550;1200,600},2,1)

=LOOKUP(B8,{0,0;100,50;200,100;300,150;400,200;500,250;600,300;700,350;800,400;900,450;1000,500;1100,550;1200,600})

(0)

相关推荐