32

私は1つの配列を持っています

1 
2
3

別の配列

4
5
6

1 つの関数を使用して 2 つの配列を結合するにはどうすればよいですか?

1
2
3
4
5
6
4

7 に答える 7

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

したがって、行列 A : 1, 2, 3 および行列 B : 4, 5, 6 がある場合

手順は次のようになります。

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

最後に:

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

Monshaw 氏から提供された情報を基に、これを理解しました。

与えられた値 "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 は、指定された配列の値を 1 つの文字列として結合します。したがって、CONCATENATE(concat(A1:A3,",");concat(B1:B4,",")) は "1,2,3,4,5,6,7" になります

ここでの Split 関数は、"," を配列内の値ではなく区切り記号として識別するために使用されます。転置により、結果が行ではなく列に表示されます。

于 2013-11-05T03:57:45.063 に答える
1

これはさらに簡単だと思いました...

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