【发布时间】:2021-08-16 08:58:57
【问题描述】:
我有一个如下所示的数据集:
| A | B | C | D | E |
|---|---|---|---|---|
| 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)
我正在努力解决如何让公式使用该行的起始列号并使用 ; 拉回后续单元格值分隔符,直到它到达并包含最后一列参考号。
【问题讨论】:
-
{=MID((A1 & ";" &B1 & ";" & C1 & ";" &D1 & ";" & E1),MATCH(0,--ISBLANK(A1:E1),0),LEN(A1 & ";" &B1 & ";" & C1 & ";" &D1 & ";" & E1)-MATCH(0,--ISBLANK(A1:E1),0)+1)}
标签: excel vba excel-formula