Googleスプレッドシートで横軸が曜日のヒストグラムを作る方法

作成するヒストグラムの目標ネット

Googleスプレッドシートで、下図のように横軸(各ビン)が曜日になっているヒストグラムの作成方法を紹介します。

作成するヒストグラムの目標

(※「これは曜日別の集計だからヒストグラムではない」というご批判はごもっともです)

作成の流れは次のようになります。

  1. 日付のデータから曜日を取得
  2. 曜日ごとに販売数をカウント
  3. グラフ(ヒストグラム)にする

日付のデータから曜日を取得

例えば以下のような、ある商品の販売時間の記録があるとします。

元データ

データは50個あるが、一部を抜粋した

まずは日付欄の表示形式を確認

まず、日付のデータ(列A)を日付形式にします。

列Aをクリックした後、「表示形式」→「数字」→「表示形式の詳細設定」→「その他の日付や時刻の形式」と進み、適当な形式を選択してください。(どれを選んでもデータは日付形式になるので大丈夫です)

日付の表示形式

 

西暦部分も合っているか確認しておきます。このあと日付から曜日を求めるため、西暦がずれていると曜日もずれてしまうので注意してください。

西暦の確認

日付から曜日を表示

列Cに曜日を追加します。

「C2」に「=text(A2,“ddd”)」と入力すると、「A2」の日付2021年2月1日の曜日である月曜日の「月」が表示されます。

日付から曜日を取得

 

(ちなみに「=text(A2,“dddd”)」と入力すれば「月曜日」と表示されます。その他のtext関数についてはこちらを確認してください。)

=text(A2,“ddd”)」を同じように「C3」以降にも入力すれば、全ての曜日データが取得できますが、実際の使用場面を考えて、ここでは「C2」に、

=IF(ISBLANK(A2),“”,text(A2,“ddd”))

と入力していきます。

意味は、「A2が空白ならば(=ISBLANK(A2))、空白を表示(=“”)、A2が空白でなければA2の曜日を表示(=text(A2,“ddd”))」となります。

実際の使用場面では、日付(列A)はどんどん追加されていきますが、そのたびに「列C」を入力していくのは面倒なので、あらかじめ列C全体に式を入力しておくということです。

「C2」に「=IF(ISBLANK(A2),“”,text(A2,“ddd”))」を入力したら、「C2」をコピーします。

曜日の式をコピー

 

「Shift」+「Ctrl」+「↓」キーを同時に押して列C全体を選択したら、コピーしたものを貼り付けます。

曜日を列全体に入力

 

これで、日付からの曜日入力が完成しました。

曜日入力完了

曜日ごとに販売数をカウント

ここからは実際にグラフに使用するデータを作っていきます。

まず「列E」に「月火水木金土日」と入力します。

曜日手入力

 

次に「F1」に、

=COUNTIF(C:C,“月”)

と入力します。

意味は、「列C全体の中で(=C:C)、「月」と一致するものの(“月”)、個数をカウント(=COUNTIF)」です。

月曜日のカウント

入力した結果、月曜日の販売数は「12」と表示されました。

同様に、「=COUNTIF(C:C,“月”)」の”月”をそれぞれの曜日に変換して入力していきます。

曜日手入力完了

これでヒストグラムにするためのデータができました。

グラフ(ヒストグラム)にする

先ほど作ったデータを選択し、

グラフデータを選択

 

「挿入」→「グラフ」をクリックします。

グラフを挿入

 

円グラフが挿入されてしまいましたが、「グラフの種類」から「縦棒グラフ」を選択します。

棒グラフ選択

 

これでヒストグラムができました。

ヒストグラム

 

あとは「グラフエディタ」の「カスタマイズ」からグラフタイトルなどを追加し、見た目を整えてあげれば完成です。

グラフタイトル等のカスタマイズ

 

グラフの種類「ヒストグラム」や棒グラフの「集計」で直接ヒストグラムを描くのはやめたほうがいい

グラフの種類「ヒストグラム」を選択した場合

ちなみに、Googleスプレッドシートでは「グラフの種類」で「ヒストグラム」を選択できるので、通常はボタン1つでヒストグラムが作成できます。

しかし、「曜日」のデータの場合はそのまま使おうとすると、横軸が数値になってしまいます。「グラフの種類」としての「ヒストグラム」ではなく、上記のように棒グラフを使った方が早いです。

グラフの種類「ヒストグラム」

列Cでグラフの種類「ヒストグラム」を選択すると、横軸が数値になり、おかしくなる

棒グラフの「集計」機能を使った場合

また、「列C」を選択して棒グラフを挿入し、「集計」にチェックを入れておけば、一見するとヒストグラムができているように見えます。しかし、この場合は、横軸の曜日はカウントされた順番になるので、曜日の順番がずれています。

木曜日の位置

1週目は木曜日の売上がなかったので、木曜日が日曜日のあとになってしまっている

 

また、「0」の曜日があるようなデータの場合、その曜日はヒストグラムの横軸には表示されません。

したがって、結局は今回紹介したように、COUNTIF関数で表から集計した後に棒グラフを描く方が正確なヒストグラムを描くことができます。

コメント

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