用ArrayFormula水平将多列水平加入一列

发布于 2025-02-08 16:31:12 字数 804 浏览 2 评论 0原文

表:

ABCDE
ABCDE
FGHIJ
KLMNO

目前要水平加入列的值,我确实喜欢:

=ARRAYFORMULA(IF(A1:A="","",A1:A&B1:B&C1:C&D1:D&E1:E))

输出:

F
abcde
fghij
klmno,

但现在我遇到了需求要加入100列的值,手动是一个巨大的公式,因此我正在寻找一种将范围设置为a1:cv的方法,但是joinCondenate不支持这种类型的多列范围。

Sheet:

ABCDE
abcde
fghij
klmno

Currently to join the values horizontally of the columns, I do like this:

=ARRAYFORMULA(IF(A1:A="","",A1:A&B1:B&C1:C&D1:D&E1:E))

Output:

F
abcde
fghij
klmno

But now I came across the need to join the values of 100 columns, manually it's a huge formula, so I'm looking for a way to set the range to A1:CV, but JOIN and CONCATENATE don't support this type of multicolumn range.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

树深时见影 2025-02-15 16:31:12

尝试:

=FLATTEN(QUERY(TRANSPOSE(A:E);;9^9))

如果您不需要额外的空格将它们删除,则如下:

=INDEX(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(A:E);;9^9)); " "; ))

如果列包含带有空格的单词,并且您只想保留这些用途:

=INDEX(SUBSTITUTE(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(
 SUBSTITUTE(A:E; " "; "×"));;9^9)); " "; ); "×"; " "))

try:

=FLATTEN(QUERY(TRANSPOSE(A:E);;9^9))

if you dont need extra spaces remove them like:

=INDEX(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(A:E);;9^9)); " "; ))

if columns contain words with spaces and you want to keep only those use:

=INDEX(SUBSTITUTE(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(
 SUBSTITUTE(A:E; " "; "×"));;9^9)); " "; ); "×"; " "))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文