2015年8月18日

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet
所以研究了 Google Sheet 裡的一些 function 怎麼用

首先,分享一下如何在 Google Sheet 裡用規則運算 :D


1. 緣起

因為現在坎尼店裡有辦活動,活動會有加分項目,是透過 Google 表單去記錄,因為項目可以給客人複選,所以是用 checkbox 讓客人自行勾選,以上到現在都沒問題,但實際上要計算加分時,就出現很大的問題了,因為實際上在統計表的部分如下:

坎尼 | 參加體管賽 +200, 參加一家一菜 +100, 參加美容派對 +100
坎尼 | 到店用餐 +10, 減一公斤 +20
Tim  | 運動拍照上傳 +10, 線上提問 +10

接著坎尼開始頭痛,是要自己拿計算機一條一條算,再加總嗎? 還是有更快的方式?


其實以往這種情況,都會是用規則運算式去做
因此坎尼也研究了 Google Spreadsheet 的 function
沒想到真的有 REGEXREPLACE

用法示範

REGEXREPLACE("Spreadsheets", "S.*d", "Bed")

2. 實作

那因為坎尼要的是把字串中加分的數字取出來
所以規則運算式很單純的就是用
"[^\d\.]+"

但其實直接把上面的運算式丟進去,只會抓到第一個取到的數值,這不是坎尼想要的,坎尼要的是把整個字串裡的數字都加總起來

所以此時又用了個小技巧 SPLIT

在 REGEXREPLACE 時,坎尼先把所有的數字取出來,並加上 | 的分隔號,再用 SPLIT 把字串切成陣列,搭配上原有的 SUM 函式,就可以完成我要的加總了

實作出來的 function 如下

=SUM(IFERROR(SPLIT(REGEXREPLACE(“加分欄 ex B1”, "[^\d\.]+", "|"), "|"),  "0"))



3. 小結

突然發現會寫程式,不管在什麼領域發展都是吃香的,即便已經是不同領域,還是可以用科技來解決問題!




沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D