夜雨聆风学习资料网

ARTICLE · 1333240

EXCEL高级操作

EXCEL高级操作

Python小心得(5)是基础,这次EXCEL高级操作练习没有堆函数词典,而是用一套完整的订单数据,把日常报表里最容易混的几组函数串起来:条件求和、条件计数、加权平均、阶梯查找、排名和环比。

工作簿一共 5 张表:

明细|12 笔订单,6 个计算列

多条件统计|8个条件统计场景

查找与排名|业绩榜、提成、排名

嵌套实战|月度汇总、环比、评级

练习|8 道题,附答案

01|先把手写数据变成可计算的列

明细表 15 列,前 9 列是原始数据:订单号、日期、区域、业务员、产品、数量、单价、成本单价、渠道。

12 笔订单覆盖 9—10 月、3 个区域、5 名业务员、4 种产品、2 种渠道。

后 6 列全部由公式生成:

列
公式
第一行结果
J 销售额
=F3×G3
10,392
K 成本
=F3×H3
7,960
毛利
=J3-K3
2,432

销售额 = 数量 × 单价,成本 = 数量 × 成本单价,毛利 = 销售额 − 成本。

三步都用同一行的数据,后一步引用前一步的结果,不要把整条计算链塞进一个公式。

毛利率:除法要有兜底

=IFERROR(L3/J3,0)

第一行 2,432 ÷ 10,392 = 23.40%。

只要销售额为 0,L3/J3 就会返回 #DIV/0!,整列汇总跟着报错。IFERROR(...,0) 把错误压成 0。

业绩等级:第一个嵌套

=IF(M3>=0.3,"优",IF(M3>=0.25,"良","一般"))

三档判断:≥ 30% 为“优”,≥ 25% 为“良”,其余为“一般”。

第一行 23.40%,结果是“一般”;第二行 34.83%,是“优”。

嵌套 IF 从上往下执行,命中即停。阈值必须从大到小写。要是把 >=0.25 放前面,35% 也会先命中 25% 这档,永远到不了“优”。

月份:把日期压成文本

=TEXT(B3,"yyyy-mm")

结果是文本 2026-09,不是日期。

这一步是为后面的统计服务:SUMIFS 条件写 “2026-10” 就能按月筛选,不必再写一对 “>=2026-10-01”、“<=2026-10-31” 的日期条件。

合计行

=SUM(F3:F14)

数量、销售额、成本、毛利分别求和,整体毛利率继续兜底:

=IFERROR(L15/J15,0)

结果:数量 316、销售额 58,334、成本 42,093、毛利 16,241、整体毛利率 27.84%。

02|条件一多,SUMIF 就不够用了

这一节的 8 个场景,按函数分组看。

SUMIFS:多条件求和

10 月华东销售额:

=SUMIFS(明细!$J$3:$J$14,明细!$C$3:$C$14,"华东",明细!$O$3:$O$14,"2026-10")

结果 19,148。

SUMIFS 的顺序是:求和区、条件区 1、条件 1、条件区 2、条件 2。

而 SUMIF 是:条件区、条件、求和区。

求和区一个在最前,一个在最后,这是最高频的翻车点。

COUNTIFS:多条件计数

渠道订单里毛利率超过 25% 的笔数:

=COUNTIFS(明细!$I$3:$I$14,"渠道",明细!$M$3:$M$14,">0.25")

结果 6。

华北 9 月订单数:

=COUNTIFS(明细!$C$3:$C$14,"华北",明细!$O$3:$O$14,"2026-09")

结果 2。

比较符必须写进引号。">0.25" 是条件,>0.25 是错误写法。

SUMPRODUCT:布尔乘法

全公司加权平均单价:

=SUMPRODUCT(明细!$F$3:$F$14,明细!$G$3:$G$14)/SUM(明细!$F$3:$F$14)

结果 184.60。

加权平均 = Σ(数量 × 单价)÷ Σ 数量。不能直接对单价列求 AVERAGE,否则 3 台显示器和 60 个鼠标会变成同等权重。

华东且渠道的订单数:

=SUMPRODUCT((明细!$C$3:$C$14="华东")*(明细!$I$3:$I$14="渠道"))

结果 2。

条件成立得 TRUE,不成立得 FALSE;TRUE 乘 TRUE 等于 1,只要一个不成立就是 0。乘上销售额再求和,就等于“只统计同时满足条件的行”。

MAXIFS / MINIFS:条件极值

华南最大单笔:

=MAXIFS(明细!$J$3:$J$14,明细!$C$3:$C$14,"华南")

结果 3,975。

华东最小单笔:

=MINIFS(明细!$J$3:$J$14,明细!$C$3:$C$14,"华东")

结果 3,180。

MAXIFS / MINIFS 需要 Excel 2019 或 Microsoft 365。老版本退回数组写法:

=SUMPRODUCT(MAX((明细!$C$3:$C$14="华南")*明细!$J$3:$J$14))

AVERAGEIF:条件平均

显示器平均毛利率:

=AVERAGEIF(明细!$E$3:$E$14,"显示器",明细!$M$3:$M$14)

结果 23.60%。

第三个参数不能省。省略后函数会对条件区自己求平均,而条件区是产品名称,对文本求平均没有意义。

这一节的三条铁律

  1. 比较符、通配符一律进引号:">0.25"、"张*"、"<>已完成"。
  2. SUMIFS 求和区在第一位,SUMIF 求和区在最后一位。
  3. 统计区域加 $ 锁死,如 $J$3:$J$14;否则往下拖公式会整体偏移。

03|查找与排名:从取数到取人

每人业绩:SUMIF

=SUMIF(明细!$D$3:$D$14,A4,明细!$J$3:$J$14)

以姓名作为条件,把销售额加总。A4 是相对引用,往下拖自动换人。

结果:

业务员
业绩
提成
等级
张伟
18,768
938.40
金牌
陈杰
13,952
558.08
银牌
赵敏
8,745
262.35
银牌
王强
6,000
180.00
铜牌
刘洋
5,499
164.97
铜牌
李娜
5,370
161.10
铜牌
合计
58,334
2,264.90
—

排名用 RANK。EQ:

=RANK.EQ(B4,$B$4:$B$9,0)

第三参数 0 是降序。写 1 就是升序,适合“用时最短”“成本最低”。有并列值时,会得到相同名次并跳号,如 1、2、2、4。

阶梯提成:VLOOKUP 近似匹配

费率表:

业绩下限
费率
0
2%
5,000
3%
10,000
4%
15,000
5%
=ROUND(B4*VLOOKUP(B4,$H$22:$I$25,2,1),2)

第四参数写 1 或 TRUE,就是近似匹配:找“不超过查找值的最大值”所在行。

  • 18,768 → 15,000 档 → 5% → 938.40
  • 13,952 → 10,000 档 → 4% → 558.08
  • 8,745 → 5,000 档 → 3% → 262.35

硬前提:第一列必须从小到大升序。顺序一乱,结果全错,还不报错。

第四参数写 0 是精确匹配,8,745 在费率表里找不到,直接返回 #N/A。

等级:三层嵌套 IF

=IF(B4>=15000,"金牌",IF(B4>=8000,"银牌",IF(B4>=5000,"铜牌","达标")))

阈值从高到低。赵敏 8,745 命中第二层,是“银牌”。

占比:分母锁死

=B4/SUM($B$4:$B$9)

分子跟着行走,分母锁死。六个人加起来正好 100%。

INDEX+MATCH:不再受“从左往右”限制

VLOOKUP 只能让查找列待在最左边。INDEX+MATCH 没有这个限制。

业绩第一名:

=INDEX($A$4:$A$9,MATCH(MAX($B$4:$B$9),$B$4:$B$9,0))

MAX 找到 18,768;MATCH 找到它在 B4:B9 的位置;INDEX 回到 A 列取姓名,得到“张伟”。

业绩第 3 名:

=INDEX($A$4:$A$9,MATCH(LARGE($B$4:$B$9,3),$B$4:$B$9,0))

把 MAX 换成 LARGE(区域,3),得到“赵敏”。

陈杰的提成:

=INDEX($D$4:$D$9,MATCH("陈杰",$A$4:$A$9,0))

从 A 列找位置,再去 D 列取同一行的值,得到 558.08。以后在 A 列左边插列,这个公式不用改。

MATCH 第三参数 0 是精确匹配,查姓名时不能省。

双条件求和与条件计数

陈杰卖键盘的销售额:

=SUMPRODUCT((明细!$D$3:$D$14="陈杰")*(明细!$E$3:$E$14="键盘")*明细!$J$3:$J$14)

结果 3,560。

业绩超过 6,000 的人数:

=COUNTIF($B$4:$B$9,">6000")

结果 3 人:张伟、陈杰、赵敏。

04|嵌套实战:一个格子算三件事

月度对比:

指标
2026-09
2026-10
销售额
26,364
31,970
毛利
7,096
9,145
毛利率
26.92%
28.60%
环比
0(基期)
21.26%
综合评级
待改进
双达标

本月销售额与毛利

=SUMIFS(明细!$J$3:$J$14,明细!$O$3:$O$14,$A3)
=SUMIFS(明细!$L$3:$L$14,明细!$O$3:$O$14,$A3)

同一套月份条件,只换求和列。

毛利率

=IFERROR(C3/B3,0)

环比:找上一月

=IFERROR(B3/INDEX($B$3:$B$4,MATCH(A3,$A$3:$A$4,0)-1)-1,"")

以 10 月这行为例,从里往外拆:

  1. MATCH(“2026-10”,$A$3:$A$4,0) 返回 2;
  2. 2-1=1,上一月在第 1 行;
  3. INDEX($B$3:$B$4,1) 取出 26,364;
  4. 31,970/26,364-1=0.2126,环比增长 21.26%。

-1 就是“上一行”。比直接写 B3 更耐改:中间插入新月份,公式会跟着走。

综合评级:IF + AND

=IF(E3="","新月份",IF(AND(E3>=0.2,D3>=0.28),"双达标","待改进"))

先排除空值,再用 AND 合并两个条件:环比 ≥ 20% 毛利率, ≥ 28%。

10 月两个都过线,评为“双达标”。

一个边界情况

9 月是基期,MATCH 返回 1,1-1=0。INDEX(区域,0) 不报错,而是返回整列,公式最终落到 0。

所以 9 月显示环比 0、评级“待改进”,而不是公式里写的“新月份”。

要让基期正确显示,把 F3 改成:

=IF(MATCH(A3,$A$3:$A$4,0)=1,"新月份",IF(AND(E3>=0.2,D3>=0.28),"双达标","待改进"))

先想清楚边界,再写正常情况。

05|8 道练习:先做,再看答案

答案在“练习”表的 D、E 两列。建议先遮住,用明细数据自己写一遍。

1. 10 月华东销售额

=SUMIFS(明细!$J$3:$J$14,明细!$C$3:$C$14,"华东",明细!$O$3:$O$14,"2026-10")

19,148

2. 渠道订单中毛利率超过 30% 的笔数

=COUNTIFS(明细!$I$3:$I$14,"渠道",明细!$M$3:$M$14,">0.3")

3

3. 全公司加权平均单价

=SUMPRODUCT(明细!$F$3:$F$14,明细!$G$3:$G$14)/SUM(明细!$F$3:$F$14)

184.60

4. 业绩第 2 名是谁

=INDEX(查找与排名!$A$4:$A$9,MATCH(LARGE(查找与排名!$B$4:$B$9,2),查找与排名!$B$4:$B$9,0))

陈杰

5. 赵敏的提成

=ROUND(查找与排名!B6*VLOOKUP(查找与排名!B6,查找与排名!$H$22:$I$25,2,1),2)

262.35

6. 赵敏的等级

=IF(查找与排名!B6>=15000,"金牌",IF(查找与排名!B6>=8000,"银牌",IF(查找与排名!B6>=5000,"铜牌","达标")))

银牌

7. 键盘在渠道的销售额

=SUMPRODUCT((明细!$E$3:$E$14="键盘")*(明细!$I$3:$I$14="渠道")*明细!$J$3:$J$14)

4,272

8. 10 月相对 9 月的环比

=IFERROR(嵌套实战!B4/嵌套实战!B3-1,"")

21.26%

第 8 题直接引用两个算好的格子,适合月份位置固定的报表;第 4 题那种 INDEX+MATCH 写法,更适合月份会增删的场景。

06|8 个容易翻车的细节

  1. SUMIFS 和 SUMIF 参数顺序相反。
  2. 比较符、通配符要进引号。
  3. 统计区域要加 $,否则往下拖会偏移。
  4. VLOOKUP 近似匹配的表必须升序。
  5. 精确查找第四参数写 0。
  6. MATCH 返回位置,不是值;INDEX 再用位置取值。
  7. TEXT 出来的月份是文本,条件要写成同样的文本格式。
  8. IFERROR 是兜底,不是遮羞布——逻辑写错也会被它藏起来。

07|一张函数地图

想做什么
优先用
单条件求和
SUMIF
多条件求和
SUMIFS
单/多条件计数
COUNTIF / COUNTIFS
多条件布尔筛选
SUMPRODUCT
条件最大值/最小值
MAXIFS / MINIFS
条件平均值
AVERAGEIF / AVERAGEIFS
精确查找任意列
INDEX+MATCH
区间、阶梯查找
VLOOKUP
排名
RANK
多档判断
嵌套 IF
错误兜底
IFERROR
日期转月份文本
TEXT
多条件同时成立
IF + AND

08|把练习变成你的月报模板

这份练习真正练的是三件事:

  1. 先把数据整理成可计算的列:销售额、成本、毛利、毛利率、月份;
  2. 再用条件函数汇总:SUMIFS、COUNTIFS、SUMPRODUCT;
  3. 最后用查找和判断做展示:INDEX+MATCH、VLOOKUP、嵌套 IF。
附件:Excel复杂函数嵌套练习.xlsx

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料