Googleスプレッドシートを使った縦に並んだ情報の横一列への並べ替え
一部に人にしか伝わらないニッチなスプレッドシートの使い方。 ECの担当者だったら、わかっていただけるかもしれない縦に並んだ情報を横一列に並べる方法をご紹介致します。
Googleスプレッドシートを利用する際、縦に並んでいる情報を横一列にまとめたい場面はよくあります。このような要求に応えるために、UNIQUE関数、FILTER関数、そしてTRANSPOSE関数を組み合わせて使うことで、データを効率的に整理し、必要な情報を抽出できます。以下では、この手法について具体的な手順と例を示します。
3つの関数
今回のポイントは3つの関数を使うことです。
- UNIQUE関数で重複排除
- FILTER関数で絞り込み
- TRANSPOSE関数で横に並び替え
以上で縦に並んだ情報をユニークなIDをキーに横一列の配列に並べ替えることが可能になります。
手順
0. データの準備
まず最初に、縦に並んでいる情報が含まれるセル範囲を用意します。例えば、セル範囲A3からB8にデータがあるとします。
1. UNIQUE関数を用いた重複排除
UNIQUE関数を使用して、重複を排除した情報を取得します。新しいセルに以下のようなUNIQUE関数を入力します。
1=UNIQUE(A3:A8)
この関数は、指定したセル範囲内の重複を排除したデータを返します。
2.FILTER関数を用いた情報の絞り込み
必要に応じて、FILTER関数を使用して情報を絞り込むことができます。たとえば、Aの購入者に絞る場合は、次のようなFILTER関数を利用します。
1=FILTER(B:B,A:A=D3)
3. TRANSPOSE関数を用いた横一列への並び替え
次に、TRANSPOSE関数を使用して取得した情報を横一列に転置します。新しいセルに以下のようなTRANSPOSE関数を入力します。
1=TRANSPOSE(F3:F5)
この関数は、取得した情報を転置し、横一列に並べます。
TRANSPOSEとFILTERの組み合わせ
今まで手順は便宜上、一つ一つの関数を分けてご紹介致しましたが、実際には絞り込みと横の並び替えは入れ子で記述することが可能です。
1=TRANSPOSE(FILTER(B:B,A:A=D3))
まとめ
こちらの処理を最初はGASを用いて行おうと思ったのですが、配列がうまく作れず、officeの関数で用意されていることを知り、エクセルファイルで実装しました。
しかしながら、動的配列という新しい関数を使っており、搭載バージョンがoffice2021からで、また、ローカルで計算をするために時間が掛かることがあり、Googleスプレッドシートで出来ないかと模索したところ、全く同じ関数が使えることが分かったので、ご紹介でした。 2021年以前はもっと、lookupなどを駆使して頑張るか、マクロ、スクリプトで自作するしかなかったのが随分と楽になったものですね。
参考サイト
Author Profile
YUJI MEZAKI(代表取締役副社長)
代表取締役副社長をやっています。 越境ECとWebマーケの営業担当しています。 なんでもカリカリにチューニングして生産性あげるのが好きで勉強したビジネスフレームワークの記事多め。 趣味はPC自作で会社のWindowsデスクトップはほぼ自分が組みました。 1985年生/2008年早大卒/
SHARE