わたしの住む茨城県でも県の公式ページに市町村ごとの新型コロナウイルス感染者数が日々公開されている。
ネット上にはエクセルにコピー&貼り付けできるようなデータ(HTMLでいうとtableタグデータ)がアップされているので、エクセルの関数と予測シート機能を使って感染者数予測をやってみた。
今回作成したエクセルファイル: covid19-yosoku-sample.zip
データの準備
参考データ提供元(茨城県公式サイトの感染者一覧のページ)
このような感じ表データである。

1月1日から1月7日までの1週間分をとりあえずコピー

エクセルを起動し、空白のブックに貼り付け

シートの1行目を空けて貼り付けたのは後で項目名を入れるため。
エクセルの場合、項目名が重要な意味を持つのです。
1行目にコピーする項目名をサイトからコピー

1行目に貼り付け

DCOUNTA関数で日付ごとの感染者数を得る
取得したデータがちょうど日付ごとに並んでいる。
DCOUNTA関数を使うと1月1日とか1月2日などの日付を条件として感染者数を数えることができる。
DCOUNTA関数の使い方
DCOUNTA( データ範囲, データ範囲のどの列をカウントするか, 検索条件)
データ範囲は、先ほど貼り付けた項目名を含めた表全体を選択する。

DCOUNTA2番目の項目「データ範囲のどの列をカウントするか」の部分は、1月1日や1月2日ごとにカウントしたいので、データ範囲の公表日のセルとした。(今回は$A$1のセル)

最後の検索条件は、以下のような項目名とカウントしたい日付をセットにした表を自分で作っておく必要がある。

例えば、公表日が1月1日を条件にしたい場合は、G1:G2(G1セル~G2セル、今回のデータの場合)を検索条件に設定することになる。

これらを踏まえてDCOUNTA関数を記述する。(データ範囲とデータ範囲のどの列をカウントするかが $ マークつきで絶対参照になっている理由は後ほどその他の検索条件分をコピーするため)

エクセルで実際に公表日の1月1日を条件としての記述した場合

うまくいけばこんな感じで表示される(1月1日の感染者は42人いるということ)

きちんとカウント出来ているので、このセルを右に6列分(1月7日の所まで)コピー

あとは1週間の合計や平均を求める、ということも出来るが、今回はエクセルの予測シート機能を使って1か月後の感染者数の予測をしてみる。
まずはデータ範囲を選択(日付と感染者数を選択した)

データ > 予測シート を選択

するとこのような形で予測ワークシートの作成ウインドウが表示される。
すでに数日後までの予測グラフが表示されている。

このウインドウから予測終了日の設定が出来る。
試しに1ヵ月後はどうなるか予測してみる。
予測終了(E) の右側の日付をクリックして1ヵ月後の日付(2月7日)を選択。

別シートが新規作成され、先ほど設定した予測終了日までの予測結果がグラフ表示される。

今回は元データが1週間分だったためか、ある程度予測データっぽくなっている。
わたしの試したデータの場合、このまま感染が続いた場合の茨城県内の感染者数は1ヵ月後には400人近くに達していた。予測が外れることを祈る!
以上、エクセルで公開データから新型コロナウイルスの感染者数を予測する、でした。(今回はローカルな範囲のデータで試したが、日本全体のデータで予測したらどうなるのだろう?……ちょっと怖いのでやめておく)
コメント