首页 > 解决方案 > 根据可变的开始列和结束列连接 Excel 行中的单元格

问题描述

我有一个如下所示的数据集:

一个 C D
1 4 5
2 3 6
1 3

我需要创建一个列,它将每行中的单元格从第一个单元格的值连接到最后一个单元格的值,即使中间有空格。这些需要用分号隔开。所以第一行的输出是1; ;4;5. 第二行将是2;3; ;6. 第三行将是1; ; ; ;3

就目前而言,我设法添加了几个公式,这些公式标识了每行范围内的开始和结束列引用(即第一行开始第 1 列,结束第 4 列)。

在行中查找第一个非空白单元格引用的公式:

={MATCH(FALSE(ISBLANK(H6:AB6),0)}

查找行中最后一个非空白单元格引用的公式:

=AGGREGATE(14,6,(COLUMN(H6:AB6)-COLUMN(H6+1)/(H6:AB6<>""),1)

我正在努力解决如何让公式使用该行的起始列号并使用 ; 拉回后续单元格值。分隔符,直到它到达并包含最后一列参考号。

标签: excelvbaexcel-formula

解决方案


另一种FILTERXML()选择:

在此处输入图像描述

中的公式G1

=TEXTJOIN(";",0,IFERROR(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",0,A1:E1)&"</s></t>","//s[.!='' or (following::*!='' and preceding::*!='')]"),""))

推荐阅读