🔹 第1组:INDEX + MATCH —— 左右随便查
📍 什么时候用
VLOOKUP最烦人的一点,就是查找列必须在最左边。可实际报表里,产品名经常在右边,单价在左边,一查就报错。这俩函数搭伙,专治这个毛病。
📊 数据长这样(A列产品,B列单价)
| A列 | B列 |
|---|---|
| 苹果 | 5.8 |
| 香蕉 | 3.2 |
| 橙子 | 4.1 |
⚙️ 公式怎么写(查“香蕉”的单价)=INDEX(B:B, MATCH("香蕉", A:A, 0))
🔍 拆开看就懂了
MATCH 先去A列里翻一遍,看“香蕉”在第几行(答案是第2行)。
INDEX 拿到这个行号,直接去B列把第2行的数值拽出来(得到3.2)。
左右两列随便放,不用像VLOOKUP那样掰着手指头数第几列。
🎯 这组最实在的地方
列顺序随便调,公式不用改,比VLOOKUP皮实多了。
🔹 第2组:IFERROR + VLOOKUP —— 把#N/A换成“未找到”
📍 什么时候用
查不到东西的时候,表格里冒出个#N/A,又扎眼又容易被人误会是数据出错了。给它套个“遮羞布”,瞬间体面。
📊 还用上面那张表
⚙️ 公式怎么写(查根本不存在的“西瓜”)=IFERROR(VLOOKUP("西瓜", A:B, 2, 0), "未找到")
🔍 拆开看就懂了
里面那层VLOOKUP正常去查,查到了就直接返回结果。
一旦查不到,VLOOKUP会抛出错误,外面的 IFERROR 马上把错误截住,换成你自己写的“未找到”。
🎯 这组最实在的地方
报表瞬间干净了,发给老板不用再解释那一堆乱码是什么。
🔹 第3组:SUMIFS + 日期 —— 按人、按时间段汇总
📍 什么时候用
比如要统计“张三在8月1号之后的销售额”,不能靠肉眼筛,得一次算准。
📊 数据长这样
| C(销售员) | D(日期) | E(金额) |
|---|---|---|
| 张三 | 2026-8-10 | 500 |
| 李四 | 2026-8-15 | 300 |
| 张三 | 2026-7-25 | 200 |
⚙️ 公式怎么写=SUMIFS(E:E, C:C, "张三", D:D, ">="&DATE(2026,8,1))
🔍 拆开看就懂了
核心是对E列求和,但得守两条规矩:
规矩1:C列必须是“张三”。
规矩2:D列日期必须 >= 2026年8月1日。
注意日期不能直接写
">=2026/8/1",要用 DATE 函数生成标准日期,再用&把比较符串起来。
🎯 这组最实在的地方
做月报、季报的时候,不用筛来筛去,一个公式全搞定。
🔹 第4组:MID + FIND —— 从编码里硬抠出姓名
📍 什么时候用
系统导出的工号都是黏在一起的,比如 A001-王芳-财务部,你得单独把“王芳”摘出来。
📊 数据:A1单元格里写着 A001-王芳-财务部
⚙️ 公式怎么写=MID(A1, FIND("-", A1)+1, FIND("-", A1, FIND("-", A1)+1) - FIND("-", A1)-1)
🔍 拆开看就懂了(别被长度吓着,分三步走)
第一步:第一个 FIND 找到第一个“-”的位置(第5位),加1就是姓名开始的位置(第6位)。
第二步:第二个 FIND 从第6位开始往后找,找到第二个“-”的位置(第9位)。
第三步:用第二个位置减第一个位置再减1,正好算出“王芳”的长度(3个字),最后 MID 一口气截取出来。
🎯 这组最实在的地方
身份证号里抠出生日期、混乱文本里捞手机号,全靠这个套路。
🔹 第5组:IF + AND / OR —— “且”和“或”自动判断
📍 什么时候用
公司规定:业绩 ≥ 70 且 全勤 ≥ 20天,才发奖金。两个条件缺一不可。
📊 数据:B2单元格是业绩(80),C2单元格是出勤天数(22)
⚙️ 公式怎么写=IF(AND(B2>=70, C2>=20), "发奖金", "不发")
🔍 拆开看就懂了
AND 代表“且”,里面两个条件必须都成立,结果才是TRUE。
IF一瞧,TRUE就输出“发奖金”,否则输出“不发”。
要是把AND换成 OR,那就变成“俩条件沾一个边儿就算过关”。
🎯 这组最实在的地方
晋升门槛、折扣梯度、考勤扣款,只要是带条件的判断,它俩都能扛。
🔹 第6组:OFFSET + COUNTA —— 区域自动“长个儿”
📍 什么时候用
每天都要在表格底下新增一行数据,下拉菜单或者图表范围每次都得手动改一遍,烦不烦?用这组公式,让区域自己跟着数据走。
📊 数据:A列从A1开始,每天往下增加一个产品名。
⚙️ 公式怎么写(在“定义名称”里用)=OFFSET($A$1, 0, 0, COUNTA($A:$A), 1)
🔍 拆开看就懂了
从A1这个格子出发,上下左右都不偏移(0,0)。
高度由 COUNTA 说了算——它数一下A列有多少个非空格子,新增一行它就自动加1。
宽度固定为1列。这样整个区域就像橡皮筋一样,数据多了它自动撑开。
🎯 这组最实在的地方
做动态下拉列表、动态图表,设置一次,后面再也不用操心范围问题。
🔹 第7组:TEXTJOIN + IF —— 按条件把人名串成一串
📍 什么时候用
想把“销售一部”所有人的名字,用顿号拼在一个格子里,手动复制粘贴太掉价了。
📊 数据长这样
| F(部门) | G(姓名) |
|---|---|
| 销售一部 | 赵一 |
| 销售二部 | 钱二 |
| 销售一部 | 孙三 |
⚙️ 公式怎么写(Excel 2019及以上版本,输完后按 Ctrl+Shift+Enter 三键结束)=TEXTJOIN("、", TRUE, IF(F:F="销售一部", G:G, ""))
🔍 拆开看就懂了
里面的 IF 负责挨个判断:如果部门是“销售一部”,就返回对应的姓名;不是的话,就返回空。
外面的 TEXTJOIN 把这些返回结果用“、”连接起来,第二参数写了TRUE,意思是遇到空值直接跳过,不连多余的顿号。
🎯 这组最实在的地方
会议签到表、任务责任人清单,一键汇总成一行,省去大量手工活儿。
🔹 第8组:DATEDIF + TODAY —— 年龄、工龄自动刷新
📍 什么时候用
人事表里算了年龄,下个月打开又不对了,因为时间在走。用这组公式,每天打开文件都是最新的。
📊 数据:H2单元格放着出生日期 1990-05-20
⚙️ 公式怎么写=DATEDIF(H2, TODAY(), "Y")
🔍 拆开看就懂了
DATEDIF 是个隐藏函数(输入时不会自动提示),专门算两个日期之间的差值。
参数
"Y"代表取整年数,"M"代表月数,"D"代表天数。TODAY() 每天自动抓取系统日期,所以公式结果天天都是新的。
🎯 这组最实在的地方
合同到期预警、工龄工资计算,放在那里不用管,它自己永远不出错。
夜雨聆风