こんにちは。
昨日のためしてガッテンの「マイナス3%の奇跡! ダイエットの超新常識」を見て「あぁ、自分もやらなきゃな。。。お腹がこんなんじゃ。。」って思った私なのであります。
世間にはいろんなダイエット支援アプリがありますが、入力された体重や体脂肪のデータを自分で様々なグラフに加工できたら便利なのかな?って思いました。
Googleスプレッドシート使おうかなと思ったのですが、はて?Webからの入力どうしよう?と思っていたら、そっかGoogleフォームで入力すればGoogleスプレッドシートにデータ入っていくじゃん!
ってことで、ちょっと作ってみました。
まずはGoogleフォーム作成
上記のようにしてGoogleフォームを作成します。「空白のフォーム」からでいいと思います。
このあたりまでフォームを作成します。
これに日々データを入力していけば、対応するGoogleスプレッドシートに体重などのデータが記録されていきます(腹囲のみ必須項目にしていません)。
合計マイナス300kcalになる100kcalアイテムを追加してみる
今回のダイエット法の最大の売りは、日々総カロリーからマイナス300kcalを達成して少しづつ体重を下げて、まず脂肪肝を解消するということでした。
で、そのための案としてマイナス100kcalを3個ずつ、毎日実行するということでした。
マイナス100kcalは運動によるカロリー消費でも、食事の制限により摂取カロリー減少でもよくて、番組HPでは「マイナス100kcalカード」の画像を配布していました。
ただ、配布されたカードは種類が少なく実生活に当てはめると100kcalアイテムが足りません。
なのでネット上で「100kcal 食品」「100kcal 運動」などと検索して100kcalアイテムを増やしていきます。
集めた100kcalアイテムを「メモ帳」などに記述しておきます。
ごはん2/3杯 バタートースト1/2枚 やきそば1/5皿 カレー1/8皿 エビフライ1本 ハンバーグ1/5個 目玉焼き1個 ピザ1/10枚 焼肉1枚 とりのから揚げ1個 フライドポテト1/2 ドーナツ1/3個 生ビール(小)1杯 日本酒0.5合 チューハイ1/2缶 ウィスキー42ml 赤ワイン1.5杯 缶コーヒー1.5缶 オレンジジュース1杯 ポテトチップス20g(約10枚) しょうゆ煎餅1枚 板チョコ1/3枚 アイスクリーム1/3カップ プリン1/2個 牛乳1/2杯 おむすび3/5個 クロワッサン1/2個 コーンフレーク1/4皿 野菜サラダ2/3皿 大学芋3個 バナナ2/3本 りんご1/2個 カップ麺1/3杯 カップやきそば1/5杯 柿の種1/2袋 マヨネーズ大さじ1 コロッケ2/5個 塩鮭1/2切 お好み焼き1/5枚 フランクフルトソーセージ33g 殻つきピーナッツ8個 パスタ1/5人前 枝豆2人前 刺身盛り合わせ2/3人前 揚げ出し豆腐1/3人前 大福餅小1個 草むしり21分 犬の散歩20分 ラジオ体操20分 縄跳び10分 ヨガ・ストレッチ33分 自転車20分 ウォーキング20分 ジョギング12分 水泳10分 サッカー10分 階段のぼり10分 風呂掃除21分 ゴルフ18分 軽い筋トレ27分 バスケットボール12分 子供と遊ぶ16分 掃除機かける23分 キャッチボール33分 山登り11分 水中ウォーク20分 スキー滑降10分 テニス14分 ガーデニング20分 ボウリング30分
これをさっき作成したGoogleフォームの回答が入力されるGoogleスプレッドシートに新しいシート「項目一覧」を追加してコピペして入力します。
さっきのGoogleフォームの2ページ目に、マイナス100kcalアイテムを選択するプルダウンの入力欄を3つ作りたいのですが、100kcalアイテムの数が多いですし3つのプルダウンのリストの内容は同じリストでいいのでGoogleフォーム編集画面で入力していると大変なので、GoogleAppsScriptでフォームの2ページ目を作成します。
回答用のGoogleスプレッドシートに「項目一覧」のシートを作って先ほど100kcalアイテムリストを入力しましたが、そのスプレッドシートの「ツール→スクリプトエディタ」でGoogleAppsScript編集画面を起動します。
以下のScriptをコピペしてください。
function createListItemOfTheForm(){ var spreadsheet = SpreadsheetApp.getActiveSpreadsheet() var form = FormApp.openById('作成したGoogleフォームのフォームID'); var dataValues = spreadsheet.getSheetByName('項目一覧').getDataRange().getValues(); var itemValues = generateArray(dataValues, 0); //-100kcalアイテム一覧 form.addPageBreakItem() .setTitle('マイナス100kcalアイテム') .setHelpText('マイナス100kcalアイテムを3個選択します'); form.addListItem() .setTitle('マイナス100kcal(1)') .setChoiceValues(itemValues) .setRequired(true); form.addListItem() .setTitle('マイナス100kcal(2)') .setChoiceValues(itemValues) .setRequired(true); form.addListItem() .setTitle('マイナス100kcal(3)') .setChoiceValues(itemValues) .setRequired(true); } function generateArray(values, column){ var i = 1; var array = []; for(var i = 1; i < values.length; i++){ if(values[i][column]){ array.push(values[i][column]); } } return array; }
上記コードの「作成したGoogleフォームのフォームID」の部分を、Googleフォーム編集時のブラウザ画面のURL部分の「https://docs.google.com/forms/d/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/edit」のピンクの部分で置き換えます。
GoogleAppsScript作成の参考にした記事はこちらです。
「実行→createListItemOfTheForm」として実行すると、フォームの2ページ目はこのようになります。
以上で出来上がりです。
出来上がったGoogleフォームを外部から入力のために呼び出すURLは、Googleフォーム編集画面の「送信」ボタンを押して、リンクのマーク(チェーンのようなアイコン)をクリックすれば得られるので、メールなどで自分のスマホに送っておきます。
GoogleフォームのURLをブラウザで呼び出せば、家でPCでも出先でスマホでも体重関連の入力ができます。
このような感じにGoogleスプレッドシートにデータが入力されていきます。(データにタイムスタンプはあるのですが、前日の入力もできるように日付入力は手入力欄を設けています)