web-dev-qa-db-ja.com

Googleスプレッドシートで複数の列を1つに連結する

enter image description here

表示されているように、列A、B、Cを列Dに連結/結合したい。

A、B、Cに入力されるエントリの数は時間とともに変化するため、絶対セルアドレスは使用できません。

図のように列を埋めるためにD1に入力できる式は何ですか?

11
Paulb

空でないセルにフィルターダウンし、結果をスタックする必要があります。

={filter(A:A, len(A:A)); filter(B:B, len(B:B)); filter(C:C, len(C:C))}

これは grayobによるこの回答 と同じですが、残念ながら古い回答に埋もれています。

8
user79865

この他の答え の式の短縮版

=FILTER({A:A;B:B;C:C}, LEN({A:A;B:B;C:C}))
10
Rubén

もう少し長いですが、制限された配列(列全体ではなく)に制限することができます:

=transpose(split(textjoin("|",1,{A1:C4}),"|"))

順序は関係ありません。どこで:

=transpose(split(textjoin("|",1,{A1:A4;B1:B4;C1:C4}),"|"))
1
pnuts