如果Excel版本够高,不妨用这个函数将每n行合并到一个单元格中

表格学课程 2024-04-08 17:40:33

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

之前教了大家如何用 PQ 将一列表格以每三行合并一个单元格的规则,转换成一个新的表。如果有 Microsoft 365 版本的同学,也可以使用高阶函数来实现。

今天就教公式解法。

案例:

将下图 1 中的姓名按以下要求转换:

每三行姓名合并到一个单元格中;姓名之间以“、”隔开

效果如下图 2 所示。

解决方案:

1. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=TEXTJOIN("、",1,OFFSET($A$1:$A$19,ROW(A1)*3-2,0,3))

公式释义:

OFFSET($A$1:$A$19,ROW(A1)*3-2,0,3):offset 函数的作用是返回指定的行列区域;语法为 OFFSET(要引用的区域, 偏移的行数, 偏移的列数, [返回的高度], [返回的宽度]);本公式表示在 $A$1:$A$19 偏移 ROW(A1)*3-2 行;第一行的公式中,row(a1)=1,公式结果是 1;第二行公式时,row(a2)=2,公式结果为 2*3-2=4,即偏移到第 4 行;随着公式下拉,实现了每一次偏移 +3 行;第二个参数 0 表示列不需要偏移;第三个参数 3 表示总共引用 3 行;TEXTJOIN("、",1,...):用 TEXTJOIN 将上述公式的结果联接起来,中间用“、”分隔,第二个参数 1 表示忽略空白单元格

* 请注意:公式中的区域 $A$1:$A$19 要绝对引用。

0 阅读:0

表格学课程

简介:感谢大家的关注