見出し画像

積読消化スプレッドシート (2020-08-03)

現役のエンジニアが毎日どんなことを学んで,どんな開発を行っているのか雑にアウトプットしてみる試みの22日目です.

積読を消化したい

積読を消化したいので,積読消化用のスプレッドシートを作った.機能としては,以下のような感じ.

■ 書籍を一覧表示して進捗を見れる

画像1

■ 書籍を追加できる

画像2

■ 書籍シートで目次の記入と,書籍を読む目的などを書く

画像3


■ 章ごとに要約を書くと進捗が更新される

画像4

こだわりとか

とにかく,「進捗を可視化してモチベーションを保ちたい」という目的のもとつくった.

進捗を何で表現するか迷ったが,章ごとに要約を書いていって,要約を書いたらその章は読み終わったと判定して,進捗が更新されるといった仕様にした.

また,本を読む前に,目次の記入,学びたいこと,読むことで得られるメリットを記入するフォーマットにしてみた.

ただ漠然と本を読むと,自分が知りたいことがなんなのかわからず,その結果すべてを暗記するかのごとく精読するといったことをやり始めてしまって,そのまま積読になってしまうという,といったケースが自分がよく陥りがちなパターンだ.

このフォーマットにすると,書籍を主体的に目的を持って読めるかなーと考えている.

また,このスプレッドシートを運用していくと,自分の読書記録とその要約がまとまったものが出来上がるので,あとで振り返って見るのに良いだろう.

課題感とか

Webサービスにしたい.
こういうものってある程度ゲーミフィケーションの要素が必要だと思っていて,例えば同じ本を読んでいる他の人と進捗が競争できたり,読書のスピードでランキングができたりは面白そうかなと思った.

もちろん,速度が目的になっちゃうとか色々問題はあると思うが,直接交流する機能はなくても,他の読書している人の空気を感じられると,よりモチベーションにつながるかと思った.

作ってみた感想とか

スプレッドシートと,GAS すげーとマジマジと感じた.
最初はこういうの作るならWebサービスかなーとか思っていたが,スプレッドシートと,GASを使って,ものの2 ~ 3時間でそれっぽ何かがつくれる環境は本当にすごいなと.

自分はGAS苦手で適当にググりながらやったけど,GASを頻繁に触ってたりする人なら,30 分もあればこういうの作れるんじゃないかと思った.

ちなみにGASはこんな感じ.このくらいの行数でそれっぽく動くものが実装できるのすごい.

function addBook() {
 var app = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = app.getActiveSheet();
 
 var lastRow = sheet.getRange(2, 2).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow();

 var bookName = Browser.inputBox('追加する書籍名を入力してください');
 if (bookName == 'cancel') {
   return;
 }
 
 var templateSheet = app.getSheetByName('テンプレート');  
 var newSheet = templateSheet.copyTo(app);
 newSheet.setName(bookName);
 newSheet.getRange(2, 3).setValue(bookName);
 
 
 sheet.getRange(lastRow+1, 2).setValue(bookName);
 var bookNameCell = "B" + (lastRow + 1);
 var persentCell = "C" + (lastRow + 1);
   
 sheet.getRange(lastRow+1, 3).setValue('=IF(IF(ISBLANK(' + bookNameCell + ') = FALSE,ISERR(INDIRECT(CONCAT(' + bookNameCell + ', "!$C$9"))),TRUE), "", INDIRECT(CONCAT(' + bookNameCell + ', "!$C$9")))');
 sheet.getRange(lastRow+1, 4).setValue('=IF(' + persentCell + ' = "", "", SPARKLINE(' + persentCell + ', {"charttype", "bar"; "max", 1; "color1", "#57bb8a"}))');
 
}


だれかWebサービスつくってくれないかなぁ・・・.

いいなと思ったら応援しよう!