熱量紀錄

建立屬於你的半自動熱量紀錄系統

如果也和我一樣正在進行熱量紀錄,但遲遲沒有找到一套適合自己的熱量紀錄系統,這篇文章將會教你如何利用Google Sheet & Google 表單 & Google AppScript建立一套能夠同時在手機、電腦當中使用的半自動熱量紀錄系統

▋步驟說明

1.建立Google表單
2.將Google表單之回覆連結至Google Sheet
3.利用TDEE Calculator計算營養素需求,並填入Google Sheet當中
4.在Google Sheet中建立樞紐分析表以記錄每日營養素攝取總合
5.在Google Sheet中建立指令,以達成每日自動計算營養素達成率
6.將表單建立快捷鍵連結至手機桌面(以iOS為例)

▋步驟一、建立Google表單

這部分沒有什麼好教的,基本上就是按照自己的需求去做表單的建立,唯一需要特別注意的事情只有兩件:

1.必填與非必填 我自己在設定這份表單時只有將日期、早午晚餐、卡路里的部分設置為必填,其他諸如碳水、蛋白質等等則設置為非必填,因為有些時候你的餐點未必會同時涵蓋三種營養素,因此建議將營養素的部分設置為非必填

2.順序必須依照上圖 由於最後會使用Google AppScript來做自動化的計算,因此建議大家在設計這份Google表單時,卡路里、早午晚餐等等這些填寫順序與這份相同;當然如果你想要加入其他的填寫項目也可以,像是餐點名稱、自行烹飪or外食…這些問題,建議可以新增在整份表單的最後面

(表單範本連結:https://forms.gle/4N2vv6VEG8HU3z8x7)

▋步驟二、將Google表單連結至Google Sheet

在表單製作的頁面當中,首先點選至「回覆」頁面,接著點選右邊的「Google Sheet icon」

選擇「建立新試算表」,接著點選「建立」,這個步驟就完成了

▋步驟三、利用TDEE Calculator計算營養素需求

如果你不知道TDEE Calculator是做什麼用的,簡單來說,這是一個根據你年齡、身高、體重、體脂率、運動頻率來幫你計算増肌階段(bulking)、維持階段(maintenance)、減脂階段(cutting)時的個別營養素以及卡路里之需求

以下我會使用TDEE Calculator網站來做示範

1.填寫基本數據

將自己的性別、年齡、體重、身高、運動頻率、體脂率如實填寫進去,如果體脂率不太確定的話可以跳過,接著點選「Calculate!」即可

2.增肌、減脂、維持?

計算完後,頁面的最上方會告訴你維持體重所需的卡路里,接著往下滑能夠看到Macronutrients,接著選擇自己正在執行的項目;以上圖為例則是減脂(Cutting),每日所需卡路里是2066;下表由左至右分別為正常碳水、低碳水、高碳水;這邊如果你沒有特別研究或是需求的話,建議依照Moderate來進行即可

3.填入Google Sheet當中

在先前透過Google表單建立的試算表當中新增一個工作表名稱為「TDEE建議」(名字務必要相同哦!否則最後你就得自己改程式碼),左邊Set-up的部分可以填寫自己在計算TDEE時當下的基本資料,右邊的部分則用來填寫各營養素的需求;這邊特別注意到黃色底標起來的部分,這個部分必須是你正在執行的營養素組成,因為程式碼會自動抓取黃色底的數字來進行計算;也就是說,這張工作表其他的位置你要怎麼利用都可以,唯有黃色底的位置務必填寫相對應的營養素需求。

如果大家怕做錯的話,我這邊製作了一個範本,大家可以直接複製到自己的Google Sheet當中,照著填寫就不會做錯了

連結:https://lihi1.com/2jwIs

▋步驟四、建立樞紐分析表計算每日營養攝取

回到原本的Google Sheet當中,這時候先把Google表單連結的工作表命名為”熱量紀錄”,以便後續的程式碼進行識別,接下來我們要將這些密密麻麻的數據透過樞紐分析表來進行每日的統計

首先,我們先點選上方工作列表當中的「資料」,並且點選「資料透視表」接著將資料範圍輸入「’熱量紀錄’!B:G」,下方的位置則選擇「新的工作表」,之後點選建立

建立之後會跑出如上圖的工作表,右邊分別有「列」、「欄」、「值」與「篩選器」;由於我們要依照每天來進行營養素的統計,所以邏輯上,會將日期相同的數據加總起來作為該日營養素的總和

因此,在右邊「列」的部分,點選「新增」並選擇”日期”,其他設定則與上圖相同即可

接著看到「值」的部分,依序新增”碳水”、”蛋白質”、”脂肪”、”卡路里”(要按照順序哦,否則最後的程式碼你就得自己另外修改了),其他設定也與上圖相同即可

完成後,你的樞紐分析表就會長得像上方這樣,會依照日期來自動進行營養素的加總。

雖然能夠完成這樣的計算已經很棒了,但是這樣子的樞紐分析表並沒有辦法直觀地讓我們知道有沒有達成所需的熱量以及營養素的目標,因此我們要在樞紐分析表的旁邊來進行營養素達成率的計算,以協助我們判斷每日的飲食是否有滿足相對應的需求

接著請如上圖,依序新增欄,分別為「碳水達成率」、「蛋白達成率」、「脂肪達成率」以及「卡路里達成率」(老話一句,順序及名稱要一模一樣,不然你就要自己修改程式碼了)

▋步驟五、在Google Sheet中建立指令

在開始建立指令之前,先將剛剛新增的樞紐分析表命名為「統計表」,並確保你相對應的工作表的名字都與上圖相同,確認完畢後接著就可以進行指令的建立

首先,從上方的工具列表當中找到「工具」,點選後選擇下方的「指令碼編輯器」

接著會進到如上的畫面,由於我也不是很懂Google Cloud Platform的運作方式,沒辦法直接部屬成外掛或是網路應用程式,因此我這邊會直接貼上程式碼,大家只要複製貼上即可

程式碼下載連結:https://lihi1.com/0leeD
(由於直接貼上程式碼會造成indentation error,麻煩大家用下載的)

大家只要將這整段code複製貼上即可,因為你也不是來學code的,這邊就不多做解釋code的邏輯,有興趣的人再自行研究

接著點選左上角的藍色箭頭,回到Google AppScript的專案管理頁面

接著點選最右邊的符號(三個點點),並選取「觸發條件」

最後,選取右下角的按鈕「新增觸發條件」後會來到上圖的頁面,按照上圖進行設定,接著點選儲存即可,這樣就大功告成囉!

▋步驟六、建立快捷鍵至手機桌面

這裡以iOS舉例,將表單以Safari打開後,點選正中間的那顆設定鈕,接著就會出現以上畫面,這邊只要選擇「加入主畫面」,接著你就能夠在你的手機首頁當中直接點選連接進熱量紀錄表單囉!

這邊做個最後的提醒,每當用手機填寫完表單後,記得將表單分頁給關閉,否則下一次開啟熱量紀錄表單時,上一次的熱量紀錄又會重新被紀錄一次,這時候就必須要手動去刪除重複的資料了

以上是今天的教學!當中如果有遇到什麼無法解決的bug或是問題歡迎在下方留言提問,我會盡可能協助你解決問題,希望這篇文章有幫助到你!

如果覺得本文有幫助到你,可以幫我點擊部落格以表達支持哦!(租伺服器主機很燒錢啊QQ)

 

發表迴響