散布図は、2つのデータの関係を見たい時に便利なグラフである。
通常の棒グラフ・折れ線グラフには項目軸と数値軸があるが、散布図には項目軸がなく、両軸とも数値軸である。
気温と電力の散布図を作り、両者の関係を見てみよう。
本来ならば、同一地点・同一時刻の気温と電力のデータを用いるべきだが、得るのが難しいため、ここでは東京の一日の最高気温と、東京電力の14時の電力のデータを用いることにする。
気温のデータのコピー
気象庁のページでデータを検索する。
(1)地点の選択 → 東京 → 東京
(2)年月日の選択 → 2019年 → 8月
(3)「2019年8月の日ごとの値を表示」を選択

題名を含む表全体を選択 → 青くなっている部分を右クリックして「コピー」 → ExcelのB1セルを右クリックして「貼り付け先の書式に合わせる」


シート見出しをダブルクリック → シート名を「気象データ」に変更 → 「気温と電力」というファイル名で保存

貼り付けた表を直接編集するのではなく、別シートに必要なデータを抜き出すことにする。
新しいシートを追加 → シート名を「気温と電力」にする → B2セルに「2019年8月」、C2セルに「東京の最高気温(℃)」と入力

シート「気温と電力」のB3セルに「=気象データ!B6」と入力(またはマウスでシート「気象データ」のB6セルをクリック)してEnter →
シート「気温と電力」のC3セルに「=気象データ!I6」と入力(またはマウスでシート「気象データ」のI6セルをクリック)してEnter →
それら数式を第33行までコピー

最高気温を小数第1位までの表示にする。

「気温と電力」という名前で保存する。

電力のデータのコピー
東京電力のでんき予報のページを開く → 「エリア需給実績データ」 → 「2023年1月迄」 → 「2019年度の需給実績」をクリックしてCSVファイル「area-2019.csv」をダウンロード



「気温と電力」のExcelファイルを開いたままにしつつ、ダウンロードしたCSVファイルもExcelで開く(ダブルクリックすれば開くはず)

CSVファイルのシート見出しを右クリックして「移動またはコピー」

移動先ブック名で「気温と電力.xlsx」を選択して「OK」

「気温と電力」のファイルに電力データが取り込まれた。
シート名を「電力データ」に変更しておく。

シート「気温と電力」のD2セルに「14時の電力(万kW)」と入力 → B2〜D2を太字の中央揃えにする → C列とD列の列幅を変更

INDEX関数と日付の数値を使って14時の電力を抜き出す。
INDEX関数と日付の数値を使うのは、各日の14時のデータが24行ごとの飛び飛びになっているからである。
電力データのA列の列幅を拡げた上で、2019年8月1日14:00が何行目かを事前に確認しておく(執筆時点のデータでは2946行目)。

シート「気温と電力」のD3セルを選択 → 「関数の挿入」ボタン(fxボタン)

「関数の分類」の「検索/行列」 → INDEX(引数の説明がないことに注目)

INDEX関数には、引数が3つの使い方と4つの使い方がある。
ここでは3つの方(配列,行番号,列番号)を選択する。

INDEX関数は表の中の1つのセルを参照する関数であり、「=INDEX(表の範囲,行番号,列番号)」のように使う。
行番号と列番号は、セル番地に使う番号ではなく、第1引数に指定した範囲の一番左上のセルを1行目・1列目として数えた番号である。
第1引数は電力データのA列からC列までをマウスで選択、あるいはキーボードで「Sheet2!A:C」と入力 → 第2引数は先程確認した行番号(2946行目)を含む式「2946+(B3-1)*24」を入力 → 第3引数は、電力が左から3列目なので「3」と入力 → 「OK」

2019年8月1日14:00の電力が表示されていることを確認の上、数式をD33までコピーする。

今回、罫線は引かないでおく。
気温と電力の表が完成した。
散布図を作る
シート「気温と電力」の表に基づいてグラフを作る。
C2〜D33を選択 → 「挿入」タブの散布図のボタン → 点のみの「散布図」を選択

以前学んだ方法で、
・位置と大きさを調整する。
・グラフタイトルを「最高気温と14時の電力」にする。
・縦軸の範囲を3500〜6000に、主目盛間隔を500にする。
・横軸の範囲を27〜36に、目盛間隔を1に、表示形式を小数点以下0桁にする。

縦軸と横軸の軸ラベルを追加する。
「グラフのデザイン」タブの「グラフ要素の追加」 → 「軸ラベル」 → 「第1横軸」および「第1縦軸」 → 横軸ラベルを「最高気温(℃)」に、縦軸ラベルを「14時の電力(万kW)」にする

回帰直線と決定係数
グラフに回帰直線を追加し、直線の式と決定係数を表示する。
「グラフのデザイン」タブの「グラフ要素の追加」 → 「近似曲線」 → 「線形」

直線を右クリック → 「近似曲線の書式設定」 → 「グラフに数式を表示する」と「グラフにR-2乗値を表示する」にレ点を入れる

回帰直線の式と決定係数(R²)が表示された。
決定係数は 0≦R²≦1 の範囲をとり、直線的な関係が全くなければ R²=0、完全に直線の関係ならば R²=1 になる。
※y値が一定の場合は決定係数を計算できないので「R²=#N/A」と表示される。
※x値が一定の場合は回帰直線を計算できない。
式を見やすい場所へ移動する。
グラフが小さくて式を表示する場所が足りない場合は、グラフエリアやプロットエリアを拡大するとよい。
グラフタイトルと軸ラベルをグラフエリアの端に移動すると、プロットエリアを拡大する余地ができるだろう。

データラベルの追加
グラフ上で平日の点と休日の点を区別したい。そのためにデータとデータラベルを追加する。
C列を右クリック → 「挿入」 → C2セルに「平日/休日」と入力

C3セルにWEEKDAY関数を入力する。WEEKDAYを関数は、日付を引数とし、曜日を返す関数である。
C3セルを選択 → 「関数の挿入」ボタン(fxボタン) → 「関数の分類」は「日付/時刻」 → WEEKDAYを選択 → 「OK」

第1引数を「B$2+B3-1」、第2引数を「2」にする。
「B$2+B3-1」は日付を求めている。
B2セルに「2019/8/1」という日付を入力してあるが、後でWEEKDAY関数を下にコピーした時に行番号が変わらないよう、数式中では「B$2」と書いて行番号を絶対参照とした。
B3セル以下には1,2,3,...という数値を入力してあるが、数式中の「B3」は相対参照なので、下にコピーすると行番号が増えるはずである。
結果として、それぞれの行の日付が得られることになる。
WEEKDAY関数は、その日付の曜日を1〜7の数字で答える。
第2引数の欄をクリックすると、第2引数についての説明文が下に表示される。
ここでは第2引数を「2」にしたので、月曜が1、日曜が7である。

2019年8月1日は木曜なので「4」と表示されるはずである。

WEEKDAY関数の答の数値に基づいて、月〜金なら「平」、土日なら「休」と表示したい。
WEEKDAY関数とIF関数を組み合わせることで、これを実現する。
C3セルを選択して数式バーをクリック → WEEKDAY関数の前に「IF(」、後に「>=6,"休","平")」と追加して、「=IF(WEEKDAY(B$2+B3-1,2)>=6,"休","平")」とする → 数式をC33までコピー

この数式は月〜金と土日を区別することしかできず、祝日などには対応していない。
そこで、土日以外の休日については、数式をクリアして文字データを入力する。
・8月12日は山の日の振替休日なので、C14セルの数式をクリアして「山」と入力する。
・8月15日を含む週を夏休み(盆休み)とすることが多いので、8月13〜16日のセル(C15〜C18)の数式をクリアして「盆」と入力する。

C列に追加したデータを、グラフ上にデータラベルとして表示する。
「グラフのデザイン」タブの「グラフ要素の追加」 → 「データラベル」 → 「中央」

現時点ではデータラベルに電力が表示されている。これを「平」「休」等に変更する。
データラベルを右クリック → 「データラベルの書式設定」 → 「ラベルオプション」の「セルの値」にレ点を入れる → マウスでC3〜C33を選択 → 「OK」 → ラベルオプションの「Y値」のレ点を外す

平日と休日を区別できるようになった。

散布図の点(マーカー)の大きさと色を変更して、データラベルを見やすくする。
マーカーを右クリック(データラベルと重なっていてマーカーを選択できないが、代わりにデータラベルを右クリックすればよい) → 「データ系列の書式設定」 → 「塗りつぶしと線」ボタン(3つのボタンの一番左) → 「マーカー」

「マーカーのオプション」を開き、「組み込み」を選択してサイズを10にする。
続けて「塗りつぶし」を開き、「塗りつぶし(単色)」を選択して色を薄い緑にする。

一部のマーカーが重なってしまうが、データラベルは見やすくなった。

平日と休日で上下に分かれているように見える。
そこで、このグラフを平日だけのグラフに変更してみる。
準備として、表を操作してもグラフの位置と大きさが変わらないようにしておく。
グラフの余白を右クリック → 「グラフエリアの書式設定」 → 「グラフのオプション」 → 「サイズとプロパティ」ボタン(3つのボタンの一番右)の「プロパティ」を開く → 「セルに合わせて移動やサイズ変更をしない」を選択

現時点での決定係数の値に注目。
表の一部の行を非表示にすると、その行のデータはグラフからも消える。
つまり、休日の行を非表示にすると、平日だけのグラフになる。
表の「休」「山」「盆」の行を選択して右クリック → 「非表示」 → グラフの数式の位置を調整

平日だけのグラフになった。近似曲線の式が移動してしまうので再調整する。
休日を含んでいた時より決定係数が高くなった。

※休日を再表示する方法: シート全体を選択 → 行番号を右クリック → 「再表示」
再表示すると、グラフ上の数式の位置の再調整も必要となる。
練習
2019年8月の表とグラフを流用して、2019年7月の同様の表と散布図を作りなさい。
7月15日(海の日)の「平日/休日」列は「海」にしなさい。
次のような手順で作成する。
(1)気象データのコピー
・「気温と電力」のファイルを開き、「名前を付けて保存」で別名「気温と電力(練習)」で保存する。
・シート「気象データ」のデータを全てクリアし、気象庁のページで「2019年7月の日ごとの値」をコピーする。
(2)シート「気温と電力」の表の修正
・非表示になっている行を再表示する。
・B2セルをクリアし、「2019/7/1」と入力する。
・7月12〜16日が「山」「盆」になっているので、7月11日の数式をコピーする。
・7月15日の「平日/休日」列に「海」と入力する。
・シート「電力データ」で2019年7月1日14:00のデータが何行目か確認し、それをシート「気温と電力」のE3セルの数式に反映する。
・E3セルの数式をE33までコピーする。
(3)グラフの修正
・グラフの軸の範囲を、データの最小値と最大値に合わせる。
・式の位置を調整する。

平日のみの散布図にしなさい。
