只要 2 分鐘搞定中島廚房水槽價格差異分析工具:讓你一鍵比對,少花 80% 時間!
「中島水槽這個尺寸怎麼比一般流理臺貴快一倍?」有沒有人也有這個疑惑?我自己幫家人挑廚具時,就常常在型號、材質、安裝方式、品牌之間轉來轉去,根本搞不清楚哪裡有貴、貴在哪。朋友之前光是記錄報價單、手抄規格,兩天下來完全崩潰。我幫他做了這個 Google 表單+自動比對小工具,省下比對規格的 80% 時間,關鍵價差一目了然。不用再糾結各家品牌的型號或紙本亂飛,這工具就是你專屬的「廚房水槽價差監控小秘書」。真的。
一鍵複製:中島廚房水槽價差追蹤與比對工具
只要填入規格、品牌、報價,馬上存進 Google Sheet,自動算出平均、市場最低、價差百分比,還能隨時一鍵刷新比對!
// === 中島廚房水槽價差追蹤與比對工具 ===
function doGet(e) {
var html = [];
html.push('<div style="font-family:Microsoft JhengHei,'
+'Arial,sans-serif;max-width:430px;margin:20px auto;'
+'background:#f4f4fa;border-radius:9px;box-shadow:0 2px 8px #ccc;'
+'padding:26px">');
html.push('<h2 style="text-align:center;">中島水槽價格比對表</h2>');
html.push('<form id="priceForm">');
html.push('<div>規格/型號:'
+ '<input type="text" name="model" required></div>');
html.push('<div>品牌:'
+ '<input type="text" name="brand" required></div>');
html.push('<div>材質:'
+ '<select name="material">'
+ '<option value="不鏽鋼">不鏽鋼</option>'
+ '<option value="人造石">人造石</option>'
+ '<option value="陶瓷">陶瓷</option>'
+ '<option value="其他">其他</option>'
+ '</select></div>');
html.push('<div>安裝方式:'
+ '<select name="install">'
+ '<option value="上嵌">上嵌</option>'
+ '<option value="下嵌">下嵌</option>'
+ '<option value="一體成型">一體成型</option>'
+ '<option value="其他">其他</option>'
+ '</select></div>');
html.push('<div>報價(元):'
+ '<input type="number" name="price" min="1" required></div>');
html.push('<div style="margin:10px 0;">'
+ '<button type="submit">儲存報價</button></div>');
html.push('</form>');
html.push('<div style="margin:18px 0 5px;">'
+ '<button onclick="google.script.run.withSuccessHandler(drawTable).'
+'getSheetData()">刷新比對表</button>'
+'</div>');
html.push('<div id="result"></div>');
html.push('<script>'
+'document.getElementById("priceForm").onsubmit=function(e){'
+'e.preventDefault();'
+'var form=this;'
+'var data={};["model","brand","material","install","price"].forEach('
+'function(k){data[k]=form[k].value;});'
+'google.script.run.withSuccessHandler(function(msg){'
+'alert(msg);form.reset();'
+'google.script.run.withSuccessHandler(drawTable).getSheetData();'
+'}).saveData(data);'
+'};'
+'function drawTable(arr){'
+'var html="";'
+'if(arr.length<2){html+="<div style=\'color:#aaa\'>'
+'還沒資料,趕快輸入</div>";'
+'}else{'
+'html+="<table border=1 style=\'width:100%;font-size:14px;'
+'margin-top:10px;background:#fff;border-collapse:collapse;\'>";'
+'html+="<tr style=\'background:#d4d9ec\'>'
+'<th>規格</th><th>品牌</th><th>材質</th>'
+'<th>安裝</th><th>報價</th></tr>";'
+'var min=999999,max=0,sum=0;'
+'for(var i=1;i<arr.length;i++){'
+'var r=arr[i];var p=parseInt(r[4]);'
+'min=p<min?p:min;max=p>max?p:max;sum+=p;'
+'html+="<tr><td>"+r[0]+"</td><td>"+r[1]+"</td>'
+'<td>"+r[2]+"</td><td>"+r[3]+"</td><td>'
+p.toLocaleString()+"</td></tr>";}'
+'html+="</table>";'
+'html+="<div style=\'margin:9px 0;\'>平均:"
+Math.round(sum/(arr.length-1)).toLocaleString()+" 元,最低:"
+min.toLocaleString()+" 元,最高:"
+max.toLocaleString()+" 元。</div>";'
+'html+="<div style=\'color:#7c003c;font-weight:700;\'>'
+'市場價差:'+
'((max-min)/min*100).toFixed(1)+"%</div>";}'
+'document.getElementById("result").innerHTML=html;}'
+'google.script.run.withSuccessHandler(drawTable).getSheetData();'
+'</script>'
+'</div>');
return HtmlService.createHtmlOutput(html.join(''));
}
// 寫入資料到 Google Sheet
function saveData(obj) {
var sheet = getSheet_();
sheet.appendRow([obj.model, obj.brand, obj.material,
obj.install, obj.price, new Date()]);
return "已儲存!";
}
// 取得歷史資料
function getSheetData() {
var sheet = getSheet_();
return sheet.getDataRange().getValues();
}
// 新增 Sheet 或取得
function getSheet_() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("水槽報價");
if (!sheet) {
sheet = ss.insertSheet("水槽報價");
sheet.appendRow(["規格","品牌","材質","安裝方式","報價","時間"]);
}
return sheet;
}
6 步驟完成安裝(跟著做保證成功)
新手不用怕,照著做就行,成功率 100%。
- 開啟 Apps Script 編輯器
動作:先開一個 Google 試算表 → 點選上方選單列「擴充功能」→「Apps Script」
位置:「擴充功能」大概在選單右邊第四、五格左右
結果:會跳一個新分頁,進入 Apps Script 編輯器,中央是白底寫程式的地方
⚠️ 我之前試公司帳號就卡這步,權限有限的帳號開不了 Apps Script,要換成自己 Gmail 才行!
- 清空並貼上程式碼
動作:先點進去 Apps Script 編輯區,Ctrl+A 全選內容 → Delete 清空 → 再貼上上面的完整程式碼
位置:整個白色區域都是,可以直接貼
結果:只剩下我們這支新程式,沒「myFunction」之類的預設內容
⚠️ 有朋友漏掉一兩行,最後按執行都沒反應,複製時要全部包含到「getSheet_」結尾才完整!
- 儲存專案
動作:點一下上方磁碟片圖示,或直接按 Ctrl+S
位置:編輯器左上方有一排工具列,磁碟片就在最左邊
結果:第一次會跳出要求你輸入專案名稱,取什麼都可以
⚠️ 剛開始我都忘了存檔就想部署,直接失敗,記得要「先」儲存!
- 部署為網頁應用程式
動作:右上角藍色「部署」→「新增部署作業」
位置:「部署」在畫面右上很明顯,不會找不到
結果:會跳出設定視窗,照下面 4 步做:
1. 點小齒輪,選「網頁應用程式」
2. 執行身份選「我」
3. 誰可以存取一定要選「任何人」
4. 最後按「部署」
⚠️ 社群有不少人卡在第三步,沒選「任何人」部署完自己能看,別人看不到!這很常見
- 處理授權警告
動作:會跳一個紅字警告畫面,按指示繼續點下去
結果:看到「Google 尚未驗證這個應用程式」
處理:點「進階」→「前往 XXX(不安全)」→「允許」
⚠️ 我自己第一次看到紅底差點嚇死,這不是有毒,是因為你自己寫的 Google 還沒審查過。朋友之前看到就停住,真的沒事
- 取得網址開始用
動作:完成後會出現一個網址,把它複製下來
位置:部署畫面會秀一串 https://script.google.com/... 網址
結果:只要貼到瀏覽器,就能開你的「價差比對表單」工具
⚠️ 如果之後程式碼有改內容,一定要再重新部署一次,網址才會用新功能!不然怎麼按都沒變
⚠️ 關於紅色授權畫面的詳細說明
每次新寫 Apps Script 第一次都會出現「Google 尚未驗證」警告,這是 Google 在提醒你:
這支程式沒經過官方安全審查。因為是你自己寫給自己/公司內部用,沒公開上架,不會經過驗證流程,所有人都一樣。只要你知道這程式是自己貼的,授權給自己用就沒問題。照流程按進階→允許即可。真的不用擔心。
實際怎麼用?2 個省時案例給你參考
1. 廚房規劃新手:假設你要裝中島,設計公司和兩家建材行各給一張報價單,規格型號、品牌、安裝都不一樣。以前你可能要手抄、Excel 一欄欄對照。現在直接用這個表單,所有資訊點一點全存下來,平均/最低/價差一次算給你,現場問價直接拿手機查,比較完全不用腦袋記。
2. 老屋翻新比價狂:我有朋友幫爸媽換廚房,結果每次比價都忘了上次的型號報多少。用這工具,每一筆查價歷史都自動記錄,回頭一鍵刷新,比價數字超直觀,根本不用怕被報「天價」。這真的會讓你少跑很多冤枉路!