-
从个税公式谈超额累进制计算方式
超额累进制是一种使用很广泛的多级费率计算方式,个人所得税就是其中的一种典型应用。除了个税以外,在绩效考核、销售提成、设计咨询专业费率计算等等许多方面也会经常用到。
它的特点是累进增幅平缓,各级别之间的边界点不存在跳变现象。因此是一种相对比较合理的分级计价方式。但由于计算方式比较复杂,所以在一般使用上存在一些障碍。但通过构造Excel函数公式,可以将计算方法变得非常简单而通用,大大提高了这种方法的可用性。
下面通过个税公式的来历详细分析一下超额累进计算方式的方方面面。
本人并非财会金融专业亦未从事相关工作,如有谬误之处还望指正。
附件下载:
华为网盘:http://dl.dbank.com/s09b618e1f
本地下载:个税公式 (1739)
点击查看大图
没有评论 -
#微函数系列#之INDEX函数
INDEX函数是一个比较常用的引用类函数,作用与OFFSET函数比较相似,但它与OFFSET函数的区别在于它可以对数组中的数据进行引用,而非仅仅只对单元格区域进行引用。这就意味着INDEX函数可以对数组运算所生成的结果来进行后继处理。
INDEX函数首先需要指定一个基准区域或数组(二维或一维),然后通过行序号和列序号来引用行列交叉的所在位置。
如果基准区域或数组是单行或单列(一维),可以省略第三参数;
如果基准区域或数组是多行多列(二维),当行序号(第二参数)为0时,返回列序号所在行的整列,例如
=INDEX(A1:B5,2,0)
返回(A2:B2)的引用;当列序号(第三参数)为0时,返回行序号所在行的整行,例如=INDEX(A1:B5,0,2)
返回(B1:B5)的引用。注意需要数组公式的输入方式。INDEX函数还有一种不太常用的用法,当第一参数包含多个区域的联合引用时,可以用第四参数指定以其中第几个区域为基准。
例如
=INDEX((A1:B5,D3:E5),1,2,2)
返回E3单元格的引用,即D3:E5区域的第1行第2列所在单元格。INDEX函数的常见应用场景包括:
1,数组元素的单独提取或顺序提取。例如用Linest获取线性方程参数时,斜率和Y轴截距可以用INDEX函数从Linest函数的返回结果中分别取得。
Index+Small(Large)的组合通常用于对行列序号进行顺序引用。
2,二维交叉查询。可以与MATCH函数相结合,可以突破VLOOKUP、HLOOKUP等函数的单一方向性的限制
3,可以动态更新的区域引用(常用于生成下拉菜单的数据有效性序列)
点击查看大图
-
#微函数系列#之OFFSET函数
OFFSET函数是一个常见的引用类函数,作用与INDIRECT函数相似,与INDIRECT函数所不同的在于,OFFSET函数是基于目标基准区域的偏移引用。
OFFSET函数首先需要指定一个基准区域,然后通过行偏移量和列偏移量来确定实际的引用位置。偏移量是一个矢量值,以正负符号来表示偏移方向,以数值大小来表示偏移距离。
OFFSET函数的第三参数和第四参数分别表示引用区域的高度和宽度,两个参数均可省略,在省略的情况下默认与基准区域的维度尺寸相一致。高度和宽度的参数值也可以使用负数,表示负方向(向上/向左)上的维度扩展。
Offset的常见应用场景包括:
1,与MATCH函数相结合的查询,可以突破VLOOKUP、HLOOKUP等函数的单一方向性的限制
2,可以动态更新的区域引用(常用于生成下拉菜单的数据有效性序列)
3,通过数学构造,部分引用某个区域,比如间隔引用等等(例如生成工资单)
4,三维引用
当Offset函数的行列偏移或高度宽度参数使用数组作为参数值时,就会产生三维引用甚至更多维度的引用。例如
=OFFSET(A1:B1,,,{1;2;3;4;5})
公式产生如下图所示的引用:点击查看大图
-
#微函数系列#之INDIRECT函数
INDIRECT函数是比较常见的引用类函数,与其功能相仿的函数包括OFFSET函数、INDEX函数等等。与OFFSET函数所不同的在于,Offset函数是基于目标基准位置的偏移引用,而INDIRECT函数则是通过构造单元格地址的文本书写方式来对单元格区域直接进行引用。
在Excel中单元格的引用方式包括A1样式和R1C1样式,因此INDIRECT函数在构造引用字符串时,也可以使用上述两种样式的文本字符串,但需要在第二参数中使用不同的参数值进行标识区别。
A1样式和R1C1样式两种不同引用方式的来源是由于单元格地址表示方式的不同:如果用字母来表示列标,数字来表示行号,就是A1引用样式;如果用Rn表示第n行,用Cn表示第n列,就是R1C1引用样式。
由于可以构造文本形式的单元格引用地址,因此利用文本连接符&就可以构造“常量”+“变量”、“静态”+“动态”相结合的单元格引用方式。
例如
=INDIRECT("A2:A"&COUNTA(D:D))
中,"A2:A"的部分就是静态地址,其中的列标A和行号2都是常量,而COUNTA(D:D)
部分形成了第二个行号的动态引用。整个公式的引用方式就等同于“A2:An”,其中的n是变量,由D列的非空单元格数量所决定。基于这样的特性,INDIRECT函数常见的用途包括:
1,引用地址事先未知,需要通过其他运算得到部分引用元素的引用
2,可以动态更新的区域引用(常用于生成下拉菜单的数据有效性序列)
3,表名称有数字规律的多表引用(三维引用)
4,构造生成指定的数字序列或数组
5,与Text函数相结合,通过一组数值生成相应的一组R1C1式引用
点击查看大图
-
#微函数系列#之MATCH函数
MATCH函数是Excel中十分常用的匹配查询类函数,其作用和地位与VLOOKUP、LOOKUP等查询类函数相近。与LOOKUP类函数有所区别的地方在于:MATCH函数返回的结果是匹配元素的所在位置,而非匹配元素本身。
此外,Match函数还支持包含“*”、“?”等通配符的模糊查询,但不能区分英文字母的大小写。如果要在目标数组中进行区分大小写的查询,可结合Exact函数来组合公式,例如要在数组{"EXCEL","book","excel","SHEET"}查询"excel"的位置,可以使用公式:
=MATCH(TRUE,EXACT({"EXCEL","book","excel","SHEET"},"excel"),0)
返回结果为3,不会受数组中第一个元素"EXCEL"的干扰。
需要注意的是,Exact函数不支持通配符,因此不能通过上述方法同时进行区分大小写和包含通配符的模糊查询。
当目标数组中包含多个与查询数据相匹配的元素时,Match函数只返回其中第一个匹配元素的所在位置,因此Match函数通常只用于唯一性的查询。但利用这一特性,Match函数还可以用来对数组中的非重复数据进行统计,例如统计非重复数据的个数,返回非重复数据的列表等等。
点击查看大图