我想将A,B和C列串联/组合成显示的D列。
A,B和C中已填充条目的数量会随时间而变化,因此无法使用绝对单元格地址。
我可以在D1中放入什么公式来填充如图所示的列?
#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
评论
我知道,“附加”可能比“连接”更好的词汇量。由于连接是通常使用单个值进行的操作。也许是此处合并统计操作的最佳答案,而无需在此处进行过滤webapps.stackexchange.com/a/69049/66725因此,只需使用= {A1:A; B1:B}。等来计算两列中的唯一匹配项= count(unique(A1:A; B1:B}))。