Excel实战:字符连接

连接字符


群友提问,有一列数字,我想:连续数字用“-”连接,不连续的“,”隔开,如下图:

连接字符

分析:

咋一看挺简单,实际写公式:也简单......

我们将每一段连续数组,拆解为3部分:

起点数,中间数,终点数。

然后:

将“起点数”变为“,起点数”;

将“中间数”变为“ ”(空白);

将“终点数”变为“-终点数”。

最后连接所有字符即可。

结果图:

成果展示

公式详解


比较简单,直接在原表添加2列辅助列:

辅助B列作用:将连续数的起始点提取出来,其他空白。

辅助C列作用:添加前缀,以便第3步的字符连接。

B3处公式

B2手动复制一下,公式从B3处开始:

=IF((A3-A2)=1,"",A3),向下填充。

翻译:若本数减去上一个数=1,说明连续,返回空白;否则不连续,返回本数(本数亦即连续数的起始点)。

C3处公式

C2手动复制一下,公式从C3处开始:

=IF(A3=B3,","&B3,IF(AND(B3="",B4<>""),"-"&A3,"")),向下填充。

翻译:判断连续数起点,添加前缀“,”;再判断连续数终点,添加前缀“-”;否则为中间数,返回空白。通过观察,可得简单判断依据:

若B3为起点数:A3=B3;

若B3为终点数:B3=“”且B4<>“”(B3为空,且B4不为空);

否则B3为中间数:其他即为中间数。

字符连接公式

字符连接公式:

=TEXTJOIN(,,C:C)

翻译:略。

结语


再回头看一下思路:

我们将每一段连续数组,拆解为3部分:

起点数,中间数,终点数。

然后:

将“起点数”变为“,起点数”;

将“中间数”变为“”;

将“终点数”变为“-终点数”。

最后连接所有字符即可。

下期分享,我们下一次再见......

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容