32

我有一个数组

1 
2
3

另一个数组

4
5
6

如何使用一个函数来加入 2 个数组?

1
2
3
4
5
6
4

7 回答 7

77

假设您的数组是:

A1:A3 ={1;2;3}和 B1:B3 ={4;5;6}

在某处写:={A1:A3;B1:B3}

分号;用于分隔行,逗号,用于列。

这是文档:在 Google 表格中使用数组

于 2014-09-14T05:00:50.187 回答
8
TRANSPOSE() //takes matrix as argument and returns transposed matrix
SPLIT() //breaks apart a string based on a delimiter character (char(13) here)
ARRAYFORMULA() //applies the formula within to array vs cell
CONCATENATE() //joins each cell in each range with a char(13), then the next cell...then the next matrix of cells (to which the first process also happens)
//note char(13) is a carriage return, i will call CR for ease

so if you have matrix A : 1, 2, 3 and matrix B : 4, 5, 6

the steps would look like this:

TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE("1CR2CR3CR" ; "4CR5CR6CR")), CR))
TRANSPOSE(SPLIT("1CR2CR3CR4CR5CR6CR", "CR"))
TRANSPOSE({"1","2","3","4","5","6"})

finally:

1
2
3
4
5
6
于 2013-07-26T15:33:59.420 回答
6

=FLATTEN(A1:A3,B1:B3) should do the trick

screenshot

于 2020-12-30T07:49:20.013 回答
2
=filter({A1:A;B1:B}, {A1:A;B1:B}<>"")
于 2018-01-17T07:31:46.290 回答
1

鉴于蒙肖先生提供的信息,我为您解决了这个问题。

给定值“1,2,3”位于电子表格的单元格 A1:A3 中,值“4,5,6,7”位于单元格 B1:B4 中。这是要使用的公式:

=TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(concat(A1:A3,",");concat(B1:B4,","))),","))

解释。concat 公式使用指示的分隔符“,”创建一个值字符串。因此 concat(A1:A3,",") 结果为“1,2,3”。

Concatenate 将指定数组的值组合为一个字符串。所以 CONCATENATE(concat(A1:A3,",");concat(B1:B4,",")) 结果为 "1,2,3,4,5,6,7"

此处的Split 函数用于将“,”标识为分隔符,而不是数组中的值。Transpose 将导致结果显示在列中,而不是在行中。

于 2013-11-05T03:57:45.063 回答
1

我注意到这是一个较旧的问题,因此在编写之前的回复时可能不存在。

您正在寻找JOIN()公式。

文档链接

示例使用

JOIN(" and-a ",{1,2,"1 2 3 4"})

JOIN(",",{1,2,3},{4;5;6})

JOIN("-",A1:A100)

句法

JOIN(delimiter, value_or_array1, [value_or_array2, ...])

delimiter - 放置在每个连接值之间的字符或字符串。

分隔符可以指定为空白,例如 JOIN(,{1,2,3})。value_or_array1 - 要使用分隔符附加的一个或多个值。

value_or_array2, ... - [ 可选 ] - 要使用分隔符附加的附加值或数组。

于 2017-01-14T21:46:19.780 回答
1

我发现这更容易......

=ARRAYFORMULA({A:A;B:B})
于 2019-03-15T09:54:41.537 回答