摘要:上周帮财务部张姐对账,她盯着满屏的身份证号和合并单元格直叹气:"这得手动核对到猴年马月?" 我扫了眼数据,反手甩出几个冷门公式,5分钟搞定——她瞪大眼睛:"这些我学了三年都没摸透!"
上周帮财务部张姐对账,她盯着满屏的身份证号和合并单元格直叹气:"这得手动核对到猴年马月?" 我扫了眼数据,反手甩出几个冷门公式,5分钟搞定——她瞪大眼睛:"这些我学了三年都没摸透!"
其实Excel里藏着太多"小而美"的公式:它们不像VLOOKUP那样出圈,却能精准戳中工作里的各种奇葩需求。今天分享的10个公式,全是实战踩出来的精华,所有Excel版本通用,从2003到365都能打!建议先码后学,保准你明天上班就能用。
这10个公式,专治各种"数据不服"
1. 月份数字提取术:从"1月"秒变"1"
公式:=LEFTB(A2,2)
痛点:"1月""12月"这类文本,想单独拎出数字做统计?手动删"月"字太费时间。
原理:汉字占2字节,数字占1字节。LEFTB从左取2字节,刚好截断"月"字前的数字。
示例:"1月"→"1","12月"→"12"(亲测带"1月"前缀的单元格也能用)。
2. 多表汇总黑科技:所有表自动相加
公式:=SUM('*'!*3)
痛点:每月要汇总12张分表的B3数据?逐个加公式要疯。
原理:星号"*"代表所有工作表,公式会自动扫描每张表的B3值求和。新增分表?自动纳入统计!
注意:确保每张表的B3都是要汇总的数据,别混进标题行。
3. 智能总计公式:小计重复算?除以2就对了
公式:=SUM(B2:B20)/2
痛点:报表里有"部门小计",直接SUM会把小计重复加一遍(比如A组小计100,总小计300,SUM结果会是400)。
原理:每个小计是其下属数据的和,总区域实际是小计+明细,除以2刚好抵消重复。
前提:每个小计必须严格等于下属数据之和(别手抖输错数!)。
4. 合并单元格求和:错位相减显神通
公式:=SUM(C2:C20)-SUM(D3:D20)
痛点:合并单元格求和?普通公式要么漏算,要么报错。
操作:选中所有合并单元格→输入公式→按Ctrl+Enter批量填充。
原理:整体区域和(C列)减去错位区域和(D列),刚好得到每个合并单元格的和。
5. 数值限制双雄:奖金不超2000,工资不低于200
公式:
限制上限:=MIN(C4,2000)(超过2000按2000算)
限制下限:=MAX(C4,200)(低于200按200算)
组合版:=MAX(MIN(C4,2000),200)(同时锁死上下限)
场景:奖金封顶、绩效保底、费用报销限额,一个公式搞定。
6. 部门编码翻译官:101→"总办"
公式:=CHOOSE(B4-100,"总办","销售","财务","客服","人事")
痛点:表格里全是数字编码(101=总办,102=销售...),领导要看文字版。
原理:CHOOSE像翻译器,B4-100把101转成1,对应选第一个参数"总办"。
扩展:换批注、标等级都能用(比如=CHOOSE(评级,"差","中","良","优"))。
7. 身份证统计避坑:别让它当数字!
公式:=COUNTIF(A:A,A2&"*")
痛点:直接=COUNTIF(A:A,A2)统计身份证号,Excel会把它当15位数字乱算(比如尾号带字母的直接报错)。
原理:加通配符"*",强制Excel按文本匹配,精准统计重复身份证号。
8. 订单号里抽数字:"订单123号"→"123"
公式:=MIDB(A2,SEARCHB("?",A2),99)
痛点:从"订单123号""合同456号"里提取纯数字,手动删文字太麻烦。
原理:SEARCHB("?",A2)找到第一个单字节字符(数字)的位置,MIDB从这位置提取99字节(足够长)。
英文版:提取"ABC123"里的"123",逻辑一样(找第一个数字位置)。
9. 英文串抽数字:"ABC123"→"123"
公式:=LOOKUP(9^9,--RIGHT(A2,ROW(1:99)))
痛点:从乱码英文串里抠数字,分列太笨,手动输易错。
原理:ROW(1:99)生成1-99的序列,RIGHT从右取1-99个字符,--转数字后,LOOKUP找最后一个有效数值。
10. 双向查找万能公式:行+列条件精准定位
公式:=SUMPRODUCT((A2:A10=A14)*(B1:F1=B14)*B2:F10)
痛点:要根据行(产品)和列(月份)找交叉值,INDEX+MATCH记不住。
优势:用数组相乘筛选同时满足行、列条件的单元格,结果直接出数。
这些公式能活10年的关键
版本兼容性
所有公式在Excel 2003到365都能跑,老电脑也不怕!
错误处理
外面套个IFERROR更体面:
=IFERROR(原公式, "无数据")(报错时显示友好提示)
性能优化
· 别用整列引用(如A:A),改具体范围(A2:A1000);
· 大数据量先小范围测试,避免卡机。
真实工作场景实测
案例1:工资表制作
用MIN(C4,2000)限制奖金不超2000;用CHOOSE(B4-100,...)把部门编码转文字;用SUM('*'!*3)汇总各月预发金额。案例2:客户信息清洗
用COUNTIF(A:A,A2&"*")查重身份证号;用LEFTB提取"1月"类文本的数字;用MIDB从"订单123号"里抢单号。案例3:销售数据核对
用SUMPRODUCT双向查找确认区域销量;用LOOKUP从英文订单号里提数字做分类。✨ 今日测试题(答案见文末) ✨
想从"12月"文本中提取数字"12",应该用什么公式?多表汇总时,'*'!*3中的星号"*"代表什么?统计身份证号重复次数时,直接用COUNTIF(A:A,A2)为什么会出错?测试题答案
=LEFTB(A2,2);代表所有工作表;Excel会将15位以上身份证号识别为科学计数法,导致统计错误(需用COUNTIF(A:A,A2&"*")按文本匹配)。来源:千万别学Excel