縦方向のリストのアイテムリストを横並びにしてグループごとに一覧化させる式

通常のグループ化

並べ替え集計などで実現できるグループ化ですが、通常は縦並びで表示されます。例えば以下のようなリスト(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までコピー(オートフィル)すれば成功です。

コメント

PAGE TOP
タイトルとURLをコピーしました