我有一个数组
1
2
3
另一个数组
4
5
6
如何使用一个函数来加入 2 个数组?
1
2
3
4
5
6
我有一个数组
1
2
3
另一个数组
4
5
6
如何使用一个函数来加入 2 个数组?
1
2
3
4
5
6
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
=FLATTEN(A1:A3,B1:B3) should do the trick
=filter({A1:A;B1:B}, {A1:A;B1:B}<>"")
鉴于蒙肖先生提供的信息,我为您解决了这个问题。
给定值“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 将导致结果显示在列中,而不是在行中。
我注意到这是一个较旧的问题,因此在编写之前的回复时可能不存在。
您正在寻找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, ... - [ 可选 ] - 要使用分隔符附加的附加值或数组。
我发现这更容易......
=ARRAYFORMULA({A:A;B:B})