web-dev-qa-db-ja.com

列を配列式と水平方向に結合する

私が見つけた他の方法とは異なる方法で、Googleスプレッドシートの数式(スクリプトではない)で列を結合する必要があります。アベンジャーズがラケットボールをプレイすることでトレーニングすると仮定すると、元のデータは次のとおりです。

Full Name   North Court   Middle Court   South Court   Reserved Court 
---------   -----------   ------------   -----------   --------------
Ironman     Tues 4:00PM                                North Court
Hulk                      Tues 5:00PM                  Middle Court
Thor                                     Tues 5:00PM   South Court
Hawkeye                   Tues 6:00PM                  Middle Court
Antman                                   Tues 4:00PM   South Court
Spiderman                 Wed  5:00PM                  Middle Court
Captain Am  Wed  5:00PM                                North Court

このデータを次のように水平方向に結合する必要があります。

Full Name   Reserved Time   Reserved Court 
---------   -------------   --------------
Ironman     Tues 4:00PM     North Court
Hulk        Tues 5:00PM     Middle Court
Thor        Tues 5:00PM     South Court
Hawkeye     Tues 6:00PM     Middle Court
Antman      Tues 4:00PM     South Court
Spiderman   Wed  5:00PM     Middle Court
Captain Am  Wed  5:00PM     North Court

次の式を使用して、1行でこれを実現できます。

=split(join(";",'Form Responses'!C2:G2),";")

ただし、arrayformulaやfilterを使用してこれを機能させる方法はわかりません。コピーダウンを使用できません-Sheet1の列AからEのデータをSheet2の列AからCに表示するには、arrayformulaのような1つのセルに1つの式/関数が必要です。

2
Carl Walker

あなたが持っている列がC-Gであると仮定して、入力

=arrayformula({C2:C, D2:D & E2:E & F2:F, G2:G})

セルH2では、望ましい効果が得られます。 arrayformulaは、すべての行に3つのエントリが必要であることを示しています。1つはCから、1つはD、E、Fの連結で、最後はGからです。

1
user79865