2017-11-20 3 views
0

私は以下の左の2つの列を持っていますが、右の列のような列が必要です。私はこの変換の名前さえあれば、それが何であるか分からない。グループバイクエリーは、私が見つけることができる最も近いようですが、各グループにリストするのではなく、データアイテムを集計したいと思っています。左の列は、さまざまなデータ入力シートのマージ、列の並び替え、列Aによる並べ替えによって作成されます。しかし、列C & Dの形式に変換すると私はうなずきます。私はそれがレポートライターの機能であると思う:この結果を達成するためにループを使ってスクリプト関数を書く必要があるのか​​、それとも私が見落としているものがあるのだろうか?見出しを含むアイテムリストを作成するにはどうすればよいですか?

 A     B    C  D 
A group - subgroup1  data 1   A group - subgroup1  
A group - subgroup1  data 2     data 1 
A group - subgroup1  data 3     data 2 
A group - subgroup2  data 4     data 3 
A group - subgroup2  data 5   A group - subgroup2  
A group - subgroup2  data 6     data 4 
A group - subgroup2  data 7     data 5 
B group - subgroup1  data 8     data 6 
B group - subgroup1  data 9     data 7 
C group - subgroup1  data 10   B group - subgroup1  
C group - subgroup1  data 11     data 8 
C group - subgroup3  data 12     data 9 
C group - subgroup3  data 13   C group - subgroup1  
C group - subgroup3  data 14     data 10 
               data 11 
             C group - subgroup3  
               data 12 
               data 13 
               data 14 

答えて

1

ピボットテーブルを使用できます。列AとBをピボットテーブルの寸法として定義し、両方を左(垂直)軸に配置します。

見出しは別の行には表示されませんが、自動再計算や小計などの便利な機能が有効になります。

2

@ttarchalaが示唆しているように、ピボットテーブルは便利な機能です。私はqueryの解決策を試みました。それはまさにあなたが望むものではありません。しかし、それはIMO、近いです:私たちはquery内で旋回できるようにするため

=ARRAYFORMULA(SPLIT(TRANSPOSE(QUERY(QUERY(A2:B15,"select max(B) group by B pivot A")&"",, 999999999999))&" ", " ", 0)) 

ここでの考え方は、MAXのような偽の集計関数にあります。残りの数式は単にブランクを削除するだけです。

0

提案された回答のおかげで、https://stackoverflow.com/users/34704/ttarchalahttps://stackoverflow.com/users/8404453/i-iという2つのステップが必要でしたが、必要な正確な式が得られました。

データ列に& Bた、IはC & Dにおける結果を望んでいたので、最初の式はE1に移行し、C1で第二ので、私はE & Fに一時的な結果を置きます。

=ARRAYFORMULA(split(Transpose(split(Textjoin("█",TRUE,Transpose(QUERY({A1:A14&"¤␣","␣¤"&B1:B14},"select max(Col2) group by Col2 pivot Col1"))),"█")),"¤")) 

=Arrayformula(if(E:F="␣","",E:F)) 

ピボットテーブルが役立ちました。ヘッダー列には後続の¤hadがあり、データには先頭の¤があるように、データの2つの列を前処理しました。次に、Transpose(split(Textjoin(Transpose))の後に、私は1つの列で巻いて、2つの列を得て、必要な空白のセルにcontainingを入れます。 2番目のパス(式を結合する方法を理解できなかったため)は、␣を結果の列に置き換えることでした。

関連する問題