見出し画像

Google Sheetで簡単なお勉強の進捗表を作った

Learn Java the Hard Way というお勉強チュートリアルをやっている。
Javaのチュートリアル。

「Learn XX the Hard Way」というタイトルはZed A. ShawのLearn Python the Hard Wayのように彼のシリーズと重なっているので、始めるのに許可(確認?)を取ったそうだ。いい文化。

Exerciseは58あり、なかなか長丁場。
で、むかし別のプログラムをやったときには、進捗表があるのがモチベーションになったなーと思って自分で作ろうと思った。

Notionだと思ったよりやりにくかった(手間:成果物のコスパが悪かった)のでGoogle Sheetsでやっちゃおう。てことになった。

Google Sheetsにおける sparkline関数 みたいなのないのね。Notionも関数がもっとパワーアップしてほしい。

作ったのがこれ。

  1. 終わった演習(Exercise)には☑︎をする。

  2. ☑︎の数を数えて割合にする

  3. sparkline関数で進捗棒グラフを作る。

これをやってみる。

データを列に分割

演習一覧は、サイトが公表してくれている。リストになっていると楽だ〜。また、表記を揃えてくれていることのありがたさ。

演習タイトルが全て、

Exercise X: エクササイズ名

という形になってくれているので、データを列に分割が使える。(別に分割しなくてもいいんだけど)

sparkline関数

進捗を棒グラフにして視覚化したいなぁ〜。あ!Ben Collins先生のメールマガジンでやったやつだ!

=SPARKLINE(dataNumber,{"charttype", "bar";"max", max値})

みたいな使い方をする。

第1引数にデータ数、第2引数はグラフのタイプ(棒グラフ、折れ線グラフなどが選べる)と、最大値を指定する。

今回はデータ数を☑︎の数、MAX値を演習の数に設定したいので、次のようにする。

=SPARKLINE(
  COUNTIF($C$2:$C$60,true),
  {"charttype", "bar"; 
   "max",ROWS(C2:C60); 
   "color1","5b95f9"}   // グラフの色を指定
)
できあがるもの

隣の数値は、

=ROUND(COUNTIF($C$2:$C$60,true)/ROWS($C$2:$C$60) * 100)& "%"
数値をROUNDして%につなげる

いぇーい。
これで進捗、やる気出るかな。
(作ってからまだ演習していない)

おまけ

完走したらおめでとうがでるようにIF関数してみた。

=IF($F$1="100%","Complete!🎉","Completed")

がんばろ〜

この記事が気に入ったらサポートをしてみませんか?