超基礎的な関数と、超基本的なspreadsheetの機能だけを使って、膨大なデータを見やすく分かりやすく加工する方法

こんばんは。遅れてごめんなさい……前厄の力を全て今週出し切りました（風邪）。
 [Livesense - 学 Advent Calendar 2017](https://qiita.com/advent-calendar/2017/livesense-gaku) の担当します。 

大量のデータを、Googleのspreadsheetの機能と、関数を使って見やすくしたら
評判が良かったので、その際にした事をご紹介したいと思います。

非エンジニアなので、技術は一切なくても出来ます。超簡単です。

**超基礎的な関数と、超基本的なspreadsheetの機能だけを使って、膨大なデータを見やすく分かりやすく加工する方法**

完成図はこちら。
「入力欄」と記載されている所に文字を入れるだけで、それ以外のセル、もしくはグラフが自動的に切り替わります。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/d9daa935-bab1-0139-6a4d-76c0b8c2eb7b.png)

## 使ったもの 

【超基礎的な関数】
* VLOOKUP 
* RANK
* IF
以上！  

【超基本的なspreadsheetの機能】
* グラフ 
* 条件付き書式
以上！  

#何故やろうと思ったのか

見辛いから。 

とにかくデータ多すぎて見辛い！だから見やすくしたい！いや、した！  

#そもそもどんなデータ  

たとえば下記ようなシート。
これが５シート分、あったとします。  

![1219-2342-2.png](https://qiita-image-store.s3.amazonaws.com/0/214451/34369559-02b0-8c2a-a019-c5255a598001.png)  
※諸事情で加工

中身云々は置いといて、これだけの文字量がシートいっぱいに並んでいたら抵抗ありますよね。  
しかも、このデータをドンと渡されて「データのチェックお願いします」と言われた場合、 
どこを見ないといけないのか、どう見ればいいのか…。 
むむむ。困ったぞ。  

問題は、

①読み取く量 
②データを見る為の、アクション（シート移動、カーソル移動） 

の2点にとにかく時間がかかることです。 
（※人によりますが、データを理解する為に、コミュニケーションコストがかかる場合もあります。というか絶対かかる）  

相手に色んな情報を整理してもらい、こちらの意図を汲み取ってもらう必要があります。 
中々しんどいですね。  

ではこの問題を解決するには何をすれば良いのか。 
今回は下を目指して、問題を解消してみます。  

**①必要な情報だけが見えている、かつ分かりやすくなっている（データ読み解き時間の短縮）**
**②見る側のアクションが極限まで少ないこと（作業時間の短縮）**

##元データを用意する
データはサンプルなので、今回は駅名ごとの飲食店データを適当に作って、駅同士のデータ比較をします。
対象は「浅草駅」を主軸とし、比較対象を「川崎駅」にします。

【用意したデータ】
*客単価
*飲食店のジャンル
*客層

データの数値はデタラメです。
元データのシート名は「data1」と今回は設定します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/76d2dc37-da71-089c-3e24-c897be698df3.png)


##元データを集約するシートを作る

アクションは１つだけで完了するようにしたいで、入力欄だけ最初に用意しましょう。
配置などは好きなように考えていただくのが良いと思います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/431c0aa0-4a7e-697d-be33-5499e602d2fe.png)
赤い枠に文字をいれるだけ。 

##集約シートに、元データを引っ張るようにする

ではやっと使った方法を紹介します。
主にVLOOKUPを使い、＋して出したいデータ方法ごとに、IF関数やRANK関数を合わせて元データを引っ張ってきます。

VLOOKUPの検索値は、最初に設定した「入力欄」のセルが対象です。 
今回はそのセルを「B1」とします。

①そのまま持ってくるだけのデータはVLOOKUP 
ただ引っ張ってくるだけではなく、出来るだけ同じグループ同士は近くに配置しておきましょう。 

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/b2ffdc1d-9a55-61ae-07cb-50d4a3642dd4.png)

`=VLOOKUP(B1,'data1'!A:X,3,0)`

②比較したいデータはVLOOKUP＋IF
まずは元データと比較データをVLOOKUP。※①の手順を参照。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/6f0b7178-26d2-336a-c1e1-cbbeb98e6c89.png)

その上でIF関数で比較対象を並べ、元データが比較データに対して優っているのか劣っているのかを出します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/b3037ae8-531e-485e-daf2-1cb2d2b150b2.png)

`=IF(D18>=E18,"高い","低い")`

③順位を付けて比較したい場合はVLOOKUP＋IF＋RANK  
比較データが１つではなく、複数を対象とする場合。 順位をつけてみます。  

##１つのシートに抽出したデータを見やすくする（グラフ）  

抽出シートを対象に、グラフを準備します。 
特に難しいことはしなくても、対象を設定しておけば、入力したワードに連動して自動的に切り替わるので大丈夫です。 
どんなグラフが良いかは、そのデータに依存するので、割愛します。  

##必要なデータだけ見せたい（条件付き書式設定）

①不要なデータを見えなくする（条件付き書式設定）  
条件に該当するものだけ出すor出さないの条件を、関数だけで再現が困難だった場合は、条件付き書式に頼るのが1番です。  

ここは逆おじさんこと、ジョージジョースター思考でいきます。 
逆に考えるんだ、「全部出しちゃえばいいさ」と…（その上でカラーでごまかすんだと…） 

とりあえず、比較データはIF関数で良いにしろ悪いにしろ出してしまいます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/9fab9ed2-1ac6-a674-36b7-d61b726b7abf.png)

その上で、良い値が出た時だけ、文字を見せるようにします。
今回は良い値はIF関数で「高い」と出た場合とし、悪い数値は「低い」と返ったきた時になります。

なので、「条件付き書式設定」で「低い」の文字に該当した時はフォントカラーを白にします。
「書式設定のスタイル」にあるフォント設定です。
これだけで見た目上は、データが返ってこなかったときと同じようにみえます。
我ながらせこい。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214451/de745cbb-6868-5709-1dc2-ba69fa29cff5.png)

これが新しく入力したデータに合わせて切り替わったら完成です。  
どうだい、本当に簡単なものでしか構成されてないんだぜ。ビックリするだろ、私もビックリしてる。

##単純作業ほど、積み重ねると無駄な作業になる

例えばデータ加工前は、１セットのデータの読み解き作業に平均5分かかっていたとして、
それが全1000セット分あったとし、データ確認に4人でこの作業にあたった場合を考えてみます。  

1グループの平均作業時間×全データ÷作業人数 ＝ 1人あたりの作業時間
5（分）×1000（セット）÷4（人）＝ 1250分  

**１人あたり20時間**かかる計算になります。  

これが、今回のシート加工によって5分から3分まで短縮できたとします。  

3（分）×1000（セット）÷4（人）＝ 750分  

**１人あたり12時間**になりました。

おおよそ半分くらいまで、作業時間を減らす事ができます。 
１セットあたりの作業時間は大したことなくても、総作業時間を出すと、4人分の無駄な32時間を削れたのは大きいです。

難しい関数、難しい機能を使わなくても、組み合わせ次第で分かりやすく、かつ時間の短縮に繋がった例の紹介でしたฅʕ•̫͡•ʔฅ