通常のグループ化
並べ替え集計などで実現できるグループ化ですが、通常は縦並びで表示されます。例えば以下のようなリスト(A1:B16)をセミナー番号で並べ替えをしてみます。
セミナー番号 | 出席者 |
---|---|
103 | 佐藤 |
101 | 鈴木 |
104 | 高橋 |
102 | 田中 |
103 | 伊藤 |
104 | 山本 |
101 | 中村 |
102 | 小林 |
104 | 加藤 |
101 | 吉田 |
102 | 山田 |
102 | 佐々木 |
102 | 松本 |
101 | 井上 |
101 | 木村 |
並べ替えをすれば各セミナーの出席者のリストがわかりますね。
セミナー番号 | 出席者 |
---|---|
101 | 鈴木 |
101 | 中村 |
101 | 吉田 |
101 | 井上 |
101 | 木村 |
102 | 田中 |
102 | 小林 |
102 | 山田 |
102 | 佐々木 |
102 | 松本 |
103 | 佐藤 |
103 | 伊藤 |
104 | 高橋 |
104 | 山本 |
104 | 加藤 |
横並びのグループ化完成テーマ図
この記事ではグループ化して生成されるアイテムリストを横並びにする計算式を紹介します。完成予定表を見てみましょう。
セミナー番号 | 出席者1 | 出席者2 | 出席者3 | 出席者4 | 出席者5 | 出席者6 |
---|---|---|---|---|---|---|
101 | 鈴木 | 中村 | 吉田 | 井上 | 木村 | |
102 | 田中 | 小林 | 山田 | 佐々木 | 松本 | |
103 | 佐藤 | 伊藤 | ||||
104 | 高橋 | 山本 | 加藤 |
1列目にはグループ化対象のアイテムリストを生成します。
2列目以降では各グループのアイテムリストが横方向に展開するようにします。それではやり方の流れを紹介します。
グループ化するアイテムリストの生成
それではページの先頭にある表(A1:B16)の左の列のアイテムリストをセルD12に作成してみます。アイテムリストはUNIQUE関数で作成可能です。D12へ以下の式をセットします。
=UNIQUE(A2:A16)
重複をなくしたアイテムリストが生成されます。リストはスピルします。
これを並べ替えたい場合にはSORT関数で囲みましょう。D12の式を加工します。
=SORT(UNIQUE(A2:A16))
なお、アイテムリストが少ない場合や、全種を自分で把握している場合にはキー入力で埋めても問題はありません。
各グループが持つアイテムのリストを生成する式(縦型)
セルE2へは「セミナー番号101が持つ出席者(B列)のリスト」を表示させてみます。FILTER関数を用い以下の式をセットします。あとで下へコピーすることを考慮し、B2:B16とA2:A16の部分は絶対参照をしておきます。
=FILTER($B$2:$B$16,$A$2:$A$16=D2,"なし")
セミナー番号101が持つB列のデータが縦方向にリストアップされました。結果はスピルしています。
縦方向に展開するリスト
上記で作成したFILTER関数の結果は縦方向へ展開しているので、右方向へ展開するようにTRANSPOSE関数で囲みます。セルE2の式を以下のように加工します。これで右方向への展開に成功します。
=TRANSPOSE(FILTER($B$2:$B$16,$A$2:$A$16=D2,"なし"))
E2の式を末尾のE5までコピー(オートフィル)すれば成功です。
コメント