文/孔述


   社保是职工权益的重要保障,随着社保入税政策的全面推行,其重要性愈发凸显。社保不仅关乎职工的切身利益,也是企业成本核算的关键组成部分。然而,社保涉及养老、医疗、失业、工伤、生育等多个险种,且需明确区分单位与个人承担部分,个人部分还需从工资中扣除体现。若有人员增减变动,这一计算与分割过程往往十分繁琐,容易出错,给财务人员带来诸多不便。


   以从新电子税务局下载的社保数据为例,虽然信息明细,但数据分散,未按财务要求归集,原始数据实用性较差,尤其是多个单位数据混杂时,令人眼花缭乱。


   如下表(新电子税务局社保业务下载的多个单位的社保信息):(局部)


  但若能开发一款“社保智能查询与自动分割系统”,这些问题将迎刃而解。


  系统功能与界面设计——下图是一个查询窗口:


  左边为查询结果:显示个人部分(养老+失业),包括人数、人均应扣


  单位承担部分(其中含工伤保险金额)


  以及应向社保中心缴纳的社保总额。


  此表输出打印后交单位人资部门制作工资表用,并作记帐凭证附件。


  窗口右边为数据选项:


  (1)数据来源(社保数据从新电局下载)、年(2025)、月(3)、单位(若有多个单位或以下载置于同一张表);


  (2)注意事项(因新电局下载社保数据时会出现数据文本现象,如人数以文本形式出现。而文本不能与计算或参与计算时会出现错误,故需还原成数据)。


  (3)验证结果。以不同计算口径进行计算。结果正确时会以红字显示“验算正确”,否则显示"有误重算"。


  (4)文件路径。 标明文件所在的具体位置,便于溯源。


  制作过程及相关公式:


    源数据加工。

  新电局下载单位社保保险费数据EXCEL表格(新电局格式已统一)。


  辅助列设置:P列作单位、R列为年份、S列为月份


  P8=IFERROR(SWITCH(C8,"26700000000146290548","千福商贸","26700000000162310330","东浩仓储","26700000000146290549","家民商贸","26700000000146290550","德宝商贸","26700000000146290551","新鑫塑业","26700000000146290550","杰通物流"),"")


  双击或下拉生成此列所有数据。其中:26700000000146290548等分别为单位的社保号 用于提取“单位名称”。


  R8=IFERROR(IF(H8="","",YEAR(H8)),"") 双击或下拉生成此列所有数据。


  S8=IFERROR(IF(H8="","",MONTH(H8)),"") 双击或下拉生成此列所有数据。


  2、查询窗口表格设置:按照表样制作表格


  公式设置:


  D5=SUMIFS(INDIRECT($K$1&"!$M:$M"),INDIRECT($K$1&"!$E:$E"),$B5,INDIRECT($K$1&"!$E:$E"),$C5,INDIRECT($K$1&"!$R:$R"),$K$2,INDIRECT($K$1&"!$S:$S"),$K$3,INDIRECT($K$1&"!$P:$P"),$K$4)


  E5=SUMIFS(INDIRECT($K$1&"!$I:$I"),INDIRECT($K$1&"!$E:$E"),$B5,INDIRECT($K$1&"!$D:$D"),$C5,INDIRECT($K$1&"!$R:$R"),$K$2,INDIRECT($K$1&"!$S:$S"),$K$3,INDIRECT($K$1&"!$P:$P"),$K$4)


  F5=IFERROR(D5/E5,"")


  G5=SUM(F5)


  I5=IFERROR(E5*F5,"")


  此行公式下拉第6行即可。


  C8=SUMIFS(INDIRECT($K$1&"!$M:$M"),INDIRECT($K$1&"!$E:$E"),$B8,INDIRECT($K$1&"!$R:$R"),$K$2,INDIRECT($K$1&"!$S:$S"),$K$3,INDIRECT($K$1&"!$P:$P"),$K$4)


  C9=SUMIFS(INDIRECT($K$1&"!$M:$M"),INDIRECT($K$1&"!$E:$E"),$B9,INDIRECT($K$1&"!$R:$R"),$K$2,INDIRECT($K$1&"!$S:$S"),$K$3,INDIRECT($K$1&"!$P:$P"),$K$4)+SUMIFS(社保数据!M:M,社保数据!E:E,"*工伤*",社保数据!P:P,K4,社保数据!R:R,K2,社保数据!S:S,K3)


  C10=ROUND(SUM(C8:C9),2)


  E9=SUMIFS(社保数据!M:M,社保数据!E:E,"*工伤*",社保数据!P:P,K4,社保数据!R:R,K2,社保数据!S:S,K3)


  验证部分:


  K9=IF(AND((C8+C9)=C10,I8=C8),"√","×")


  K10=IF(K9="√","验算正确","有误重算")


  只须选中K列,设置单元格格式,包含“正确”显示红色即可完成。


  3、单位、年月点选设置:


  为了方便查询,在查询窗口的右侧设置了单位、年月点选下拉菜单。无论多少单位、年(月)份都会以去重方式显示,以方便下拉点选。本例只列示2025年3月3 个单位。


  L1=UNIQUE(FILTER(社保数据!R:R,社保数据!R:R<>"")) 取数据源中的年份;


  同理,M1=UNIQUE(FILTER(社保数据!P:P,社保数据!P:P<>"")) 取数据源中的单位;


  N1 =UNIQUE(FILTER(社保数据!S:S,社保数据!S:S<>"")) 取数据源中的月份。


  查询窗口具有以下功能:


    精准查询:能够快速查询社保缴纳明细,涵盖养老、失业、工伤、(医疗、生育若有谱可对应列示查询与分割)等所有险种,确保信息全面、准确。对于历史记录,只须点击年、月、单位,瞬间可查。自动分割:根据社保缴纳政策,自动区分单位和个人承担部分,避免人工计算可能出现的失误,提高记账效率。简洁直观:以图表(人数可以数据条展示增减员)、报表等形式直观展示社保缴纳情况,方便财务人员进行数据分析和审核。