首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

之前教了大家如何用 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 要绝对引用。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OtDnsc6me2osa3MpwiS4-CXg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券