根据 2011 年 9 月 1 日启用的个人所得税率,提缴区间等级为 7 级,起征点为 3500 元,如图14-6 所示。
应纳个人所得税 = 应纳税所得额 × 税率 -速算扣除
假设某员工应发薪金为 8200 元,那么应纳税所得额 =8200- 起征点金额 =8200-3500=4700(元),对应 4500~9000 的级数,税率为 0.20,速算扣除数为 555,应纳个人所得税公式如下。
=(8200-3500)*0.20-555=385
由上所示,计算个人所得税的关键是根据“应纳税所得额”找到对应的“税率”和“速算扣除数”,LOOKUP 函数可实现此模糊查询。
=IF(C14<F$2,0,LOOKUP(C14-F$2,D$4:D$10,(C14-F$2)*E$4:E$10-F$4:F$10))其中 LOOKUP 函数根据“应纳税所得额”查找对应的个人所得税,考虑“应发薪金”可能小于起征点,使用 IF 函数确保该种情况下返回 0。
使用速算法还可以直接使用以下数组公式,按 <Ctrl+Shift+Enter> 组合键。
{=MAX((C14-F$2)*E$4:E$10-F$4:F$10,0)}
其中,MAX 函数的第一个参数部分将“应纳税所得额”与各个“税率”“速算扣除数”进行运算,得到一系列备选“应纳个人所得税”,其中数值最大的一个即为所求。MAX 函数的第二个参数0 是为了处理应发薪金小于起征点的情况。
如图 14-8 所示,模拟了一份产品检测的动态码生成实例。该产品检测过程中将通过 3 台仪器对每个产品生成一个两位数检测值,并按照下列要求生成检测动态码。
步骤1: 3 个检测值进行求和,将汇总结果的个、十、百位数字逐位相加,直到得出个位数值 X。
步骤2: 用 10 减去 X 与 3 的乘积,得数值 R。
步骤3:数值 R 若为正数,则对 10 取余得出结果;数值 R 若为负数,则将其累加 10 直到得出正个位数,即得最终结果。
由于需要将检测数值之和按各位数逐位累加为个位数,利用 MOD 函数的特性,则可以使用MOD( 数值 -1,9)+1 的技巧来实现,从而得出个位数值 X。同时针对数值 R 的负数转换,同样也可以利用 MOD 函数来解决。E2 单元格生成动态检测码的公式如下。
=MOD(10-(MOD(SUM(B2:D2)-1,9)+1)*3,10)
直接计算:=45+68+49=162→1+6+2=9
利用MOD 函数计算
:MOD(SUM(B2:D2)-1,9)+1=MOD(162-1,9)+1=9R
结果:=10-9*3=-17 → MOD(-17,10)=3
利用 MOD 函数对负数取余的特性,将第 2 步与第 3 步合并,公式可简化为:
=MOD(-MOD(SUM(B2:D2)-1,9)*3-3,10)
在原公式中,第 2 步中的 10 正好是第 3 步 MOD 函数的周期,可以做如上简化。
在数字修约应用中,经常需要根据有效数字进行数字舍入。保留有效数字实质也是对数值进行四舍五入,关键是确定需要保留的数字位。因此可以使用 ROUND 函数作为主函数,关键是控制其第 2 个参数 num_digits。除规定的有效数字外,num_digits 与数值的整数位数有关,比如 12345,保留 3 位有效数字变成 12300,num_digits=-2=3-5,于是可以得到以下等式。
num_digits= 有效数字 – 数值的整数位数
数值的整数位数可由 LOG 函数求得,比如 LOG(1000)=3,LOG(100)=2。
在如图 14-9 所示的数据表中,B 列为待舍入的数值,E1 单元格指定需要保留的有效数字位数为 3,要求返回 3 位有效数字的结果。
E3 单元格的公式如下。=ROUND(B3,INT(E$1-LOG(ABS(B3))))在公式中,ABS 函数返回数字的绝对值,用于应对负数,使 LOG 函数能够返回模拟数值的整数位数。再利用 INT 函数截尾取整的原理,使用 INT 函数返回小于等于 E$1-LOG(ABS(B3)) 的最大整数,即为 ROUND 函数的第 2 参数。
学会了吗?快操作试试吧!
微信扫一扫加关注,Office自学网官方微信公众号,
专注分享软件安装和视频教程,让你一号在手,办公无忧!