Googleデータアナリティクス：表計算ソフトを使ったデータの並べ替え

# はじめに

本記事は、Googleデータアナリティクスのプロフェッショナル認定証のプログラムより、参照させて頂いています。興味を持った方は、是非受講してみてください。

https://www.coursera.org/professional-certificates/data-analytics-japanese

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/21a12cb1-a49a-802f-d903-6f68758eca0c.png" width="800">

# 表計算ソフトを使ったデータの並べ替え

表計算ソフトでは、数字や文字を使って データを昇順または降順に 並べ替えることができます。 セルに色が付けられている場合は 色で並べ替えることもできます。 表計算ソフトの並び替えには 

- **「シートを並べ替え」**
    - すべてのデータは 1 つの列の条件で 並べ替えられ、 各行にわたる関連情報も 連動して動きます。 
- **「範囲を並び替え」**
    - 「範囲を並べ替え」では 行をまたぐ情報は 連動して動きません。範囲を並べ替える場合、 並べ替えをしたい 特定のセルの集まり、または範囲を選びます。 表計算ソフトでは、指定したセル以外が 並べ替えられることはありません。 

表計算ソフトのデータを並べ替える方法には 2 通りあります。 
- メニューを使用する方法
- 並べ替え関数を書く方法

です。 今回は、メニューによる 並べ替えを中心にご説明します。 

## メニューを使用する方法

この例では、映画を公開日順に 並べ替えます。 リリース日と記載されている B 列を見ます。 B ボタンをクリックし 列のすべてのセルをハイライトします。 

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/7f98d331-1521-2986-3860-e7471542f36d.png" width="700">

### <font color="MediumBlue">シートを並べ替え</font>

そこからメニューの データタブに移動します。 シートを並べ替えるか 範囲を並べ替えるかの 2 つの選択肢がでてきました。 ここではリリース日だけを 選択していますが これらのリリース日は その行の映画に関連しているのには お気づきかと思います。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/7148ad28-4d5f-2d7f-c98b-7f4652a44e23.png" width="500">

この場合、リリース日と 映画のタイトルは関連しているので 並べ替えの際に同じ行に 留まるようにする必要があります。 これを行うには 「シートを並べ替え」をします。 これは、どのように並べ替えても すべてのデータを行ごとに まとめてくれるものです。 リリース日をどの順番で 並べたいかに応じて A から Z、つまり昇順に、 日付も数字で並べることが できます。あるいは、Z から A、降順に 並べ替えれば、逆の順序で 並べ替えられます。 ここでは発売日を A から Z の順に並べたいので 「列 B を基準にシートを昇順で並べ替え」を クリックします。 

ここまで、メニューを使って シートのデータを並べ替えました。 これで、映画が発売日順に並びました。 

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/27a8babe-a5b0-5a37-e2e0-5b2b3611ddc3.png" width="700">

### <font color="MediumBlue">範囲を並び替え</font>

次に、特定の列のデータを 並べ替えたいけれども、 その列のセルは特定の行に 関連付ける必要はない場合を見てみましょう。 その列のデータを分離して、 シートの他の部分の配置に 影響を与えずに単独で 並べ替えたいとします。 

たとえば、この例では映画タイトル、 つまり映画のタイトル列を使用します。 A 列をクリックすると、 映画のタイトルを含む列の すべてのセルが ハイライトされます。 

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/b892124f-d90c-9cb3-f3b8-6fd5499412fc.png" width="700">


そして、メニューから「データ」を クリックします。 この列をシートの 他の部分から分離して 今並べ替えを行うためには、 「列 A を基準に昇順に範囲を並べ替え」 をクリックします。 この例では、映画のタイトルを A から Z のアルファベット順に 並べ替えます。 

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/d22423b4-8e00-6c96-63b7-cbaf4b528b03.png" width="500">


範囲を並べ替えでは、行が まとまらないため、データが少し ごちゃごちゃしているのが わかると思います。 
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/a7fe9dfd-ae56-d9e8-415b-ba4f3386e6fe.png" width="700">

最後のステップでは、A 列の値（映画のタイトル）を A から Z の順に並べ替えましたが、対応する B 列のリリース日は並べ替えていませんでした。このため、誤ったリリース日でリストアップされる映画があります。

:::note info
 「シートを並べ替え」の方が 使う機会が多いかもしれませんが うっかり混同してしまわないように 両方を理解しておくことが大切です。
:::

## SORT 関数について

SORT 関数を使うときは、メニューの 「データ」タブから元のデータセットの データを並べ替えるのとは違い、 実際に既存のデータセットを 変更することになるので、 覚えておくとよいでしょう。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/c9a067e3-d42c-7156-661d-088d9571f7af.png" width="700">


元のデータセットにはパーティーのゲストと その情報が並んでいます。 ではパーティーのゲストを テーブル順に並べ替えて 誰がどこに座るか把握しましょう。 
- そのためには、まず 空のセルに関数を入力します。 他の関数と同様、イコール記号を入力し その後に SORT と入力します。
- 最初の開き括弧の後に データの対象範囲の最初のセルを 参照します。この場合は A2 です。
- 次にコロンを入れて、関数に含めたい 最後のセル、つまり D6 を書きます。
- A2:D6 がこの関数の範囲です。 次にカンマで区切って、 並べ替えの基準となる B 列を指定します。
- この関数は、列の文字を 認識しないことに 注意する必要があります。 この場合、列 B は範囲の 2 番目の列なので 対応する数字である 2 を 代わりに使用します。
- 次にコンマを追加します。
- 次の部分では、この列のデータを 昇順にするか降順にするかを決めます。 TRUE ステートメントは昇順で FALSE は降順です。 テーブルを 1 番から並べたいので 昇順を指す TRUE と書き、 関数の最後を閉じ括弧で囲みます。 

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/6fe63a02-73eb-4890-881e-2b525355fa98.png" width="700">

では、この関数を実行してみましょう。 これで、パーティーのゲストがどの テーブルに座るかで並べ替えができます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/022654d0-736f-d89a-365c-0debaa449133.png" width="700">


今度は並べ替えの順番を カスタマイズしてみましょう。 並べ替えのカスタマイズとは 表計算ソフトのデータを 複数の条件を使って並べ替えることです。 つまり、並べ替えは選んだ条件の 順番で行われます。 
パーティーのシートに戻りましょう。 ゲストの並べ替えを、招待状を 送ったかどうかで 行いたいとします。 その上で、招待客の名前を アルファベット順に並べたいとします。 これも「データ」から「範囲を並べ替え」の オプションで簡単にできます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/5fe8b0d0-e507-8f4e-2d9a-eb2581b9b3be.png" width="700">

まず、セル A1 から D6 までの セット内のすべてのデータをハイライトします。 そして、メニューのデータタブで 「範囲を並べ替え」をクリックします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/e4ab6ac5-3ea2-7673-f347-f6fa34246f0b.png" width="500">

このとき、並べ替えに列のタイトルが 混ざらないようにするため 「データにヘッダー列が含まれている」に チェックを入れます。 次に「招待状送付」の列で 並べ替えるようにします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/2a0dafff-8d7d-f3d9-7198-820d386b2025.png" width="500">

ここでは、「No」の回答を最初に、 「Yes」の回答を 2 番目にしたいので A から Z をクリックし、昇順で 回答を並べ替えます。 条件を追加したいので、「並べ替えの 基準となる別の列を追加」を クリックします。 ゲストの名前はアルファベット順に する必要があります。 そこで、「ゲスト名」を選び A から Z の順に並べ替えて

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/30781209-00ab-bb5b-1b21-9cd0d3db22d9.png" width="500">

並べ替えをクリックします。 これで、カスタムの並べ替えができました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/f10ae40f-7f80-a54c-7c7b-3709ee898634.png" width="700">