夜雨聆风学习资料网

ARTICLE · 1094964

Excel 合并单元格不同场景应用归纳

Excel 合并单元格不同场景应用归纳

一、写在前面

合并单元格让表格更美观,但也会给求和、筛选、排序、查询等日常操作带来麻烦。本文把合并单元格相关的 8 个高频问题逐一整理:每个问题都按「场景 → 做法 → 原理说明」展开,并保留原始操作示例图,方便对照练习。

二、八大问题速览

序号
问题场景
核心思路
关键操作 / 公式
1
合并单元格求和
总和减去下方已有之和
=SUM(C2:C10)-SUM(D3:D10),Ctrl+回车
2
合并单元格筛选
先拆后填再刷回
撤销合并 → 定位空值 → =A1 → Ctrl+Enter → 格式刷
3
合并单元格内部排序
辅助列造复合排序键
=COUNTA(2:A2)*10000+C2
4
合并时保留所有内容
内容重排
开始 → 填充 → 内容重排
5
合并单元格填序号 / 复制公式
区域批量输入
=MAX(1:A1)+1,Ctrl+Enter
6
统计合并单元格行数并查询
MATCH 定位起止行 + INDIRECT 动态引用
MATCH("*",…) 计算合并行数
7
合并前保留全部内容
TEXTJOIN 拼接 + 自动换行
=TEXTJOIN(CHAR(10),TRUE,A2:A4)
8
合并单元格中使用 VLOOKUP
查不到时取上方单元格值兜底
=IFNA(VLOOKUP(…),B1)

三、逐个击破

1. 合并单元格求和

场景:A 列姓名为合并单元格,C 列是各科成绩,D 列要按人汇总总分。

做法:选中 D2:D10 合并区域,输入公式后按 Ctrl+回车 一次性填充:

=SUM(C2:C10)-SUM(D3:D10)

原理:先用 SUM 算出全部成绩之和,再减去 D 列下方已统计出的总分,剩下的正好是当前合并单元格的总分。

img01.png

2. 合并单元格筛选

场景:A 列部门为合并单元格,直接筛选只能筛出每组的第一行,其余行会丢失。

做法(两步):

撤销合并单元格 → 选中 A 列数据区 → 定位空值 → 输入 =A1(等于上一个单元格)→ 按 Ctrl+Enter 批量填充;

用格式刷把右侧正常合并的格式刷回 A 列,之后即可正常筛选。

img02.png

3. 合并单元格内部排序

场景:A 列部门为合并单元格,要让每个部门内部按金额排序。

做法:先加一列辅助列,构造「部门序号 + 金额」的复合排序键:

=COUNTA($A$2:A2)*10000+C2

说明:

COUNTA() 函数为计算非空单元格个数;一部、二部、三部其实各占一个单元格,因此辅助列中同一部门的万位数值是一样的;

对辅助列做升序排序即可实现各部门内部排序,排完删除辅助列即可。

img03.png
img04.png

4. 内容重排——合并并保留所有内容

场景:A1:A3 分别是「安徽省 / 合肥市 / 包河区」,想合并成一个单元格且内容全部保留。

做法:选中 A1:A3 → 开始 → 填充 → 内容重排,A2、A3 的内容即可合并到 A1。

注意:点击「内容重排」或者「两端对齐」前,单元格的宽度一定要调整至可容纳所有要合并单元格中文字的宽度;如果宽度不够,则各单元格中的文字会被重排换行。

img05.png

5. 合并单元格填充序号、公式复制

场景:A 列为合并单元格,要填充 1、2、3…序号;或要在不规则区域批量复制公式(如 I 列金额 = 数量 × 单价)。

做法:选中目标区域,输入公式后按 Ctrl+Enter 批量输入:

序号:=MAX(1:A1)+1

公式示例:=G2*H2

原理:MAX(1:A1)+1 取上方已出现的最大序号再加 1;由于是对整个区域按 Ctrl+Enter,每个单元格都拿到相对引用的公式,合并单元格也能正确递增。

img06.png

6. 合并单元格行数统计与 VLOOKUP 查询

场景:A 列班级为合并单元格(1 班 / 2 班 / 3 班…),要根据「班级 + 姓名」查询总分。合并单元格中只有首行有班级值,普通 VLOOKUP 无法直接命中,需要先算出该班级合并区域覆盖的起止行。

核心公式(不要辅助列):

=VLOOKUP(B16,INDIRECT("b"&MATCH(A16,A3:A13)+2&":c"&MATCH(A16,A3:A13)+2+IF("A"&MATCH(A16,A3:A13)+2<>"",MATCH("*",INDIRECT("A"&MATCH(A16,A3:A13)+3&":A$13"),0),"")-1),2,0)

公式拆解:

开始行位置:=MATCH(A16,A3:A13)+2;

最后一行位置:=MATCH(A16,A3:A13)+2+IF(…)-1,其中 MATCH("*",…) 用来计算合并单元格行数——即指定区域中第一个不是空的单元格是第几个(注:如下一区域中 A4 非空、A5 为空,在指定区域内 A4 是第一个,返回 3);

公式中的 "2":表示首个合并单元格之前有二行(数据从 A3 开始);

A13:表示区域最后一行(总共有 13 行),最后一行应填上字符(如加一行「结束」哨兵),否则出错;

A16、B16:表示要查询数据的位置;

因为引用的是拼出来的动态地址,所以需要用 INDIRECT 函数。

img07.png
img08.png

7. 合并前保留全部内容(TEXTJOIN 法)

场景:多个单元格的内容要合并进一个单元格,并且全部保留、逐行显示。

做法:

=TEXTJOIN(CHAR(10),TRUE,A2:A4)

说明:CHAR(10) 为自动换行符;公式完成后,在对齐方式中勾选「自动换行」,内容即按行显示在同一单元格内。

img09.png

8. 在合并单元格中使用 VLOOKUP 函数

场景:A 列商品为合并单元格,要根据商品名把单价填进 B 列。合并区域只有第一行有商品名,下面各行 VLOOKUP 会返回 #N/A。

做法:B2 输入公式后向下填充(或选中区域按 Ctrl+Enter):

=IFNA(VLOOKUP(A2,$F$2:$G$4,2,0),B1)

说明:查不到(返回 #N/A)时,取本格上方的值 B1 兜底,从而让合并单元格的每一行都能拿到对应单价。IFNA 函数:公式返回错误值 #N/A 时返回指定值,否则返回公式的结果。

img10.png

四、要点回顾

  • 批量写入合并 / 不规则区域的万能键:Ctrl+Enter;
  • 「先拆后填再刷回」是处理合并单元格筛选、排序问题的通用套路;
  • 涉及动态行号区间时,MATCH 定位 + INDIRECT 动态引用是标配组合,且区域最后一行要放哨兵字符;
  • 合并前要保留内容:单元格够宽用「内容重排」,内容分散用 TEXTJOIN+CHAR(10)。

相关学习资料