点击👆Excel不加班,关注星标★不迷路

今天,无意间看到一份税务局的人做的表格模板,企业所得税年度纳税申报表(A类,2025年适用,office版本),居然写着水平有限,差错难免,敬请指正!把我惊呆了,第一次看到这么诚实(谦虚)的税务局人员。

下面都是VIP学员遇到的问题。
1.用SCAN写的公式,怎么全部都是错误值#SPILL!

这是区域数组,必须保证I列输入公式的所有单元格不存在其他内容,才能得到正确的结果。
这种公式,一般都是通过视频号学到的(原作者为了演示冷门函数的用法),正常情况下,算结存只需加减就可以。
=I3+G4-H4
2.用SUMIFS进行条件求和,如果第一个求和条件要等于好几个条件,公式要怎么写

这种有2种常用的写法。
多个SUMIFS函数相加:
=SUMIFS(data!I:I,data!C:C,56020202,data!F:F,"借")+SUMIFS(data!I:I,data!C:C,56020203,data!F:F,"借")+SUMIFS(data!I:I,data!C:C,56020204,data!F:F,"借")
用常量数组将多个条件组合起来,最后套SUM函数求和。
=SUM(SUMIFS(data!I:I,data!C:C,{"56020202","56020203","56020204"},data!F:F,"借"))
3.怎么将人民币大写转小写

WPS表格特有功能,财务工具箱,金额,金额大写,人民币大写转数字。

以上,学员都没上传表格,只是提供图片而已,实际中帮学员解决问题,这种情况很常见,如果水平不是很好,可以模拟一个表格操作。
人民币大写转小写,如果是用Excel,可以借助VBA自定义函数。

开发工具,VB,插入模块,粘贴代码。

Function RMB2Num(rmbText As String) As Double' 修正版人民币大写转小写函数Dim i As Integer, char As StringDim num As Double, tempNum As DoubleDim sectionSum As Double, totalSum As DoubleDim lastUnit As String' 初始化totalSum = 0sectionSum = 0tempNum = 0lastUnit = ""' 数字映射Dim numDict As ObjectSet numDict = CreateObject("Scripting.Dictionary")numDict("零") = 0: numDict("壹") = 1: numDict("贰") = 2: numDict("叁") = 3numDict("肆") = 4: numDict("伍") = 5: numDict("陆") = 6: numDict("柒") = 7numDict("捌") = 8: numDict("玖") = 9' 单位映射Dim unitDict As ObjectSet unitDict = CreateObject("Scripting.Dictionary")unitDict("仟") = 1000: unitDict("佰") = 100: unitDict("拾") = 10unitDict("万") = 10000: unitDict("亿") = 100000000unitDict("元") = 1: unitDict("角") = 0.1: unitDict("分") = 0.01' 处理大写字符串For i = 1 To Len(rmbText)char = Mid(rmbText, i, 1)' 如果是数字If numDict.Exists(char) ThentempNum = numDict(char)' 如果是单位ElseIf unitDict.Exists(char) ThenDim unitVal As DoubleunitVal = unitDict(char)Select Case charCase "万", "亿"' 处理大单位:当前段加上临时数字后乘以单位sectionSum = (sectionSum + tempNum) * unitValtotalSum = totalSum + sectionSumsectionSum = 0tempNum = 0Case "元"' 元是整数部分的结束sectionSum = sectionSum + tempNumtotalSum = totalSum + sectionSumsectionSum = 0tempNum = 0Case "角", "分"' 小数部分直接加到总数totalSum = totalSum + tempNum * unitValtempNum = 0Case Else' 仟、佰、拾:临时数字乘以单位值If tempNum = 0 Then' 处理"零"后跟单位的情况,如"零贰拾"tempNum = 1End IfsectionSum = sectionSum + tempNum * unitValtempNum = 0End SelectlastUnit = charEnd IfNext i' 处理最后可能的数字(如"整"结尾的情况)If tempNum > 0 ThenIf lastUnit = "拾" Then' 处理"拾"后面还有数字的情况,如"贰拾叁"sectionSum = sectionSum + tempNumElsetotalSum = totalSum + tempNumEnd IfEnd If' 加上最后一段totalSum = totalSum + sectionSum' 返回结果,保留2位小数RMB2Num = Round(totalSum, 2)End Function
反过来,如果是小写转大写,可以参考文章:每个会计都会用到的人民币表示方法,超全超好用!

陪你学Excel,一生够不够?
一次报名成为VIP会员,所有课程永久免费学,永久答疑,仅需1500 元,待你加入。

报名后加卢子微信chenxilu2019,发送报名截图邀请进群。
上篇:VLOOKUP+MATCH跟利润表简直是绝配,用起来真方便!

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

请把「Excel不加班」推荐给你的朋友
别忘了点赞支持卢子哦↓↓↓
夜雨聆风