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


15

ここに画像の説明を入力してください

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

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

図に示すように、列を埋めるためにどのような数式をD1に入れることができますか?


「追加」は「連結」よりも優れた語彙であった可能性があることを知っています。連結は通常、個々の値を使用して行うものなので、
Paulb 2016年

1
たぶん、あなたはここにフィルタリングする必要はありませんここでは、統計的操作のためのマージへの最良の答えはwebapps.stackexchange.com/a/69049/66725だから使います= {A1:A; B1:B}。2列で一意の一致をカウントするなど= count(unique(A1:A; B1:B}))
レオ・レオポルド・ヘルツ준 영

回答:


9

空でないセルまでフィルタリングしてから、結果をスタックする必要があります。

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

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


1
完璧に働きました。私はそのQを見て、vmergeに集中しましたが、失敗しました。そのQでは、grayobの答えは受け入れられた答えよりも優れています。Tks。
Paulb 2016年


2

少し長くなりますが、(列全体ではなく)限られた配列に制限できます。

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

順序は関係ありません。それがどこにあるか:

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

これはこの問題に対する私のお気に入りの解決策です。すべての列に名前を付ける必要はありません。また、アルファベット順にしたい最初のソリューションに対してSORTを実行することもできます。
ルー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.