我想将A,B和C列串联/组合成显示的D列。

A,B和C中已填充条目的数量会随时间而变化,因此无法使用绝对单元格地址。

我可以在D1中放入什么公式来填充如图所示的列?

评论

我知道,“附加”可能比“连接”更好的词汇量。由于连接是通常使用单个值进行的操作。

也许是此处合并统计操作的最佳答案,而无需在此处进行过滤webapps.stackexchange.com/a/69049/66725因此,只需使用= {A1:A; B1:B}。等来计算两列中的唯一匹配项= count(unique(A1:A; B1:B}))。

#1 楼

您需要过滤到非空单元格,然后将结果堆叠在一起:

={filter(A:A, len(A:A)); filter(B:B, len(B:B)); filter(C:C, len(C:C))}



这与grayob的答案相同,即不幸的是,它被过时的答案掩盖了。

评论


工作完美。我看到了Q,但我没有专注于vmerge。在该问题中,Grayob的答案比公认的答案要好。 Tks。

– Paulb
16 Mar 6 '16 at 17:24

#2 楼

其他答案中公式的简短版本

=FILTER({A:A;B:B;C:C}, LEN({A:A;B:B;C:C}))


#3 楼

稍长一些,但是可以限制为有限的数组(不是整个列):

=transpose(split(textjoin("|",1,{A1:C4}),"|"))


顺序无关紧要。它在哪里:

=transpose(split(textjoin("|",1,{A1:A4;B1:B4;C1:C4}),"|"))


评论


这是我最喜欢的解决方案,它不需要命名所有列。您也可以在第一个解决方案中按字母顺序排列SORT。

–楼
20 Jan 25'at 11:37

是的,这是一个!它取1个范围,但范围不大。

–samthebrand
20-11-13在20:59