2026年2月4日 星期三

連結試算表跟firebase的優缺點

這是一個非常經典的技術選型問題。簡單來說,Google Sheets(試算表)是「給人看的」,雖然可以用來當作簡易資料庫;而 Firebase 是專門設計「給程式用的」 專業後端服務。

選擇哪一個,取決於你的專案規模、預算以及對「即時性」和「安全性」的需求。

以下為您詳細分析兩者的優缺點:


1. Google Sheets (作為資料庫使用)

這通常是透過 Google Apps Script 或第三方 API (如 SheetDB) 將試算表當作後端。

✅ 優點 (Pros)

  • 極低門檻、可視化管理: 這是最大的優勢。你 (或你的非技術背景客戶) 可以直接打開試算表新增、修改、刪除資料,完全不需要寫 SQL 語法或進入複雜的後台。

  • 完全免費: 對於小型專案,Google Sheets 本身沒有儲存成本。

  • 開發速度快: 適合製作 MVP (最小可行性產品) 或原型,不需要架設伺服器。

  • 內建協作: 團隊成員可以同時在試算表上工作。

❌ 缺點 (Cons)

  • 效能極差: 當資料量超過幾千筆,讀寫速度會顯著變慢。它不是為了高併發 (High Concurrency) 設計的。

  • API 限制 (Quota): Google 對 API 呼叫次數有嚴格限制 (例如每 100 秒只能請求 100 次),一旦超過,服務就會中斷。

  • 資料關聯性弱: 它沒有真正的關聯式資料庫功能 (Relational constraints),很容易因為人為操作導致資料格式錯誤。

  • 安全性低: 很難做到細顆粒的權限控管 (例如:A 用戶只能看 A 欄位)。通常是「全有或全無」的讀寫權限。


2. Firebase (以 Firestore 或 Realtime Database 為主)

Firebase 是 Google 收購並整合的一套完整後端即服務 (BaaS),專為 App 和 Web 開發設計。

✅ 優點 (Pros)

  • 即時同步 (Real-time): 這是 Firebase 的殺手級功能。資料庫一更新,所有連接的客戶端 (手機、網頁) 會在毫秒級內自動更新,非常適合聊天室或即時看板。

  • 極佳的擴充性 (Scalability): 即使有百萬用戶,Firebase 也能自動處理流量擴展。

  • 強大的安全性: 透過 Security Rules,你可以精確設定誰可以讀寫哪一筆資料 (例如:只能修改自己建立的文章)。

  • 生態系整合: 直接整合了 Google 登入 (Auth)、雲端函式 (Cloud Functions) 和推播通知。

  • 離線支援: 原生支援離線模式,網路斷線時 App 仍可操作,連線後會自動同步。

❌ 缺點 (Cons)

  • 學習曲線: 開發者需要了解 NoSQL 的資料結構 (JSON 格式),與傳統的 Excel 表格思維不同。

  • 查詢限制: NoSQL 資料庫在進行複雜查詢 (如多重條件篩選、模糊搜尋) 時,比 SQL 資料庫困難且受限。

  • 費用風險: 雖然有免費額度,但若程式寫法不佳導致大量的讀寫操作,費用可能會暴增 (Firebase 是按讀寫次數計費)。

  • 資料管理較麻煩: 雖然有後台,但不如 Excel 那樣可以直觀地「大量複製貼上」或「拉公式」。


🚀 綜合比較表

特性Google Sheets (連結試算表)Firebase (Firestore)
適用對象行銷人員、行政、小型內部工具專業開發者、商業 App
資料量級小 (數千筆以內)超大 (百萬、億級)
讀寫速度慢 (秒級延遲)極快 (毫秒級)
並發處理差 (容易撞到 API 上限)極佳 (自動擴展)
後台管理由 Excel 介面直接管理 (最強項)需透過 Firebase Console 或自製後台
安全性低 (連結外洩即全公開)高 (細緻的規則設定)
成本免費免費額度大,超過後付費

💡 結論:你該選哪一個?

選擇 Google Sheets,如果:

  1. 這是一個內部工具 (如:公司訂便當系統、請假表)。

  2. 這是一個靜態網站的 CMS,而且內容不常變動。

  3. 你需要讓不懂程式的人可以直接進去改資料。

  4. 你的預算是 0,且使用者非常少 (例如 < 50 人)。

選擇 Firebase,如果:

  1. 你要做一個正式對外的 App 或網站

  2. 你需要即時功能 (如:即時庫存顯示、聊天功能)。

  3. 資料量會持續增長,且你需要確保資料不會遺失或錯亂。

  4. 你需要使用者登入系統 (會員機制)。

 

AI產生連結
https://gemini.google.com/share/592b1a5c2651






2026年1月28日 星期三

【教學】如何取得 LINE User ID 並透過 Google 試算表自動發送訊息

在開發 LINE 機器人(LINE Bot)時,許多開發者會遇到一個問題:「為什麼我的 LINE ID 跟機器人看到的 User ID 不一樣?」

事實上,LINE 的 User ID 是根據不同的 Bot 獨立產生的。如果你想利用 Google 試算表結合 Apps Script 進行自動化訊息推播,首先必須正確取得你的 User ID 與 Channel Access Token。本篇文章將完整記錄從帳號建立到自動發送訊息的實作流程。


一、 建立 LINE 官方帳號與啟用 API

首先,我們需要一個 LINE 官方帳號作為發送訊息的機器人。

  1. 登入管理頁面:前往 LINE Official Account Manager

  2. 建立帳號:點擊「建立」,填寫基本資料(帳號名稱、電子郵件等)完成建立。

  3. 啟用 Messaging API

    • 進入後台,點擊右上角的「設定」。

    • 在左側選單選擇「Messaging API」。

    • 點擊「啟用 Messaging API」,並選擇或建立一個「提供者(Provider)」。


二、 進入 LINE Developers 取得關鍵資訊

啟用 API 後,我們需要進入開發者控制台取得程式碼所需的參數。

  1. 進入控制台:點擊「LINE Developers Console」。

  2. 取得 User ID

    • 在「Basic settings」分頁最下方,找到 Your user ID。這是一串以 U 開頭的亂碼,請將它複製備用。

  3. 取得 Access Token

    • 切換到「Messaging API」分頁。

    • 捲動到最下方找到 Channel access token

    • 點擊「Issue」按鈕產生權杖並複製。

  4. 加入機器人為好友:在同頁面可以看到機器人的 QR Code,請務必先用手機掃描並加入好友,否則測試時會收不到訊息。


三、 設定 Google 試算表與 Apps Script

接下來,我們利用 Google 的免費工具來寫發送訊息的程式。

  1. 準備試算表:建立一個新的 Google 試算表。

  2. 開啟腳本編輯器:點擊選單「擴充功能」 > 「Apps Script」。

  3. 撰寫程式碼:將以下結構的程式碼貼入編輯器中:

JavaScript
function sendLineMessage() {
  var token = "你的Channel_Access_Token";
  var userId = "你的User_ID";
  var url = "https://api.line.me/v2/bot/message/push";
  
  var payload = {
    "to": userId,
    "messages": [{
      "type": "text",
      "text": "這是一則來自 Google 試算表的自動推播訊息!"
    }]
  };
  
  var options = {
    "method"  : "post",
    "payload" : JSON.stringify(payload),
    "headers" : {
      "Content-Type" : "application/json",
      "Authorization" : "Bearer " + token
    }
  };
  
  UrlFetchApp.fetch(url, options);
}

四、 執行測試與權限授權

  1. 存檔並執行:點擊上方的「儲存」圖示,並點擊「執行」。

  2. 授權驗證:第一次執行時,Google 會要求授權。

    • 點擊「審查權限」。

    • 選擇你的 Google 帳號。

    • 看到「Google 尚未驗證此應用程式」時,點擊左下角「進階」 > 「前往『專案名稱』(不安全)」。

    • 點擊「允許」。

  3. 確認結果:執行完畢後,檢查你的手機 LINE,應該就會收到機器人發出的訊息了!


五、 注意事項與限制

  • 每日發送上限:LINE 官方帳號的輕量方案(免費版)目前提供每月一定的免費訊息額度(詳細則數請參考 LINE 官方最新公告,通常 API 推播每則都會計入額度)。

  • User ID 的唯一性:記得!同一個人在不同機器人下的 User ID 是不同的,更換機器人時需重新取得 ID。

  • 自動化應用:你可以結合 Apps Script 的「觸發條件」功能,設定定時發送(例如每天早上 8 點發送提醒)或是在試算表內容更動時自動發信。

透過這套流程,你就能輕鬆讓 Google 試算表變成你的自動化助理,隨時透過 LINE 接收重要通知!



 


2026年1月24日 星期六

【Google 教學】如何利用 Google 試算表打造「每日存股紀錄系統」:自動更新股價與損益分析

存股是許多投資人的長期策略,但如何有效率地追蹤每一筆投入的成本、配息以及目前的即時損益呢?今天我們要分享如何利用 Google 試算表的 GOOGLEFINANCE 函數,建立一個能自動抓取台股行情、並透過顏色視覺化損益的「存股投資格」。

核心功能介紹

這套系統不僅能幫你省去手動輸入股價的麻煩,還具備以下特色:

  1. 自動抓取即時行情:利用 Google 內建函數,同步台灣上市櫃股票的最新市價(約延遲 20-30 分鐘)。

  2. 個別股票詳細紀錄:可針對不同標的(如 00878、0050)建立獨立分頁,詳細紀錄買入日期、單價、股數及配息。

  3. 視覺化損益分析:透過「條件式格式」自動變色,讓你一眼看出哪些標的表現優異、哪些需要注意。

  4. 總表彙整與大盤資訊:自動計算所有持股的總損益、當日損益,並抓取加權指數(大盤)資訊。


損益變色規則

為了直觀掌握投資狀況,系統設定了四種顏色提醒:

  • 漲幅 10% 以上:顯示為淺紅色。

  • 漲幅 20% 以上:顯示為深紅色。

  • 跌幅 10% 以上:顯示為淺綠色。

  • 跌幅 20% 以上:顯示為深綠色。


如何建立你的存股紀錄?

第一步:建立個別股票分頁

你可以為每一支股票建立一個分頁(例如:分頁名稱設為股票代碼)。

  • 白色儲存格:供使用者輸入,包含「買進日期」、「購入價格」、「購入股數」。

  • 彩色儲存格:包含公式。最重要的公式是:
    =GOOGLEFINANCE("TPE:股票代碼", "price")
    這會自動抓取該股票在台股市場的當前價格。

第二步:計算損益與含息報酬

系統會自動根據你輸入的成本與當前市價計算報酬率。若有領取配息,也可填入「配息金額」,系統將計算出「含息報酬率」,反映最真實的投資效益。

第三步:使用總表(彙整頁面)

總表會利用 INDEX 或直接參照的方式,將各個分頁的數據彙整在一起。

  • 總報酬率(含息):彙整所有持股的獲利。

  • 當日損益:根據當天股價波動計算出的帳面增減。

  • 大盤資訊:抓取 TSEC 指數(台股大盤),方便對比自身持股與市場表現。


如何增加新股票紀錄?

當你買入新的標定時,操作非常簡單:

  1. 複製現有格式:直接複製一個現有的股票分頁。

  2. 修改代碼:在指定的儲存格更改股票代號(例如從 00878 改成 00713)。

  3. 總表新增一列:在總表複製一行,並將參照名稱改為新股票的分頁名稱,所有數據就會自動連動。


注意事項與小提醒

  • 資料延遲:Google 試算表抓取的股價資料會有約 20 到 30 分鐘的延遲,不適合做短線沖銷,但對於長期存股族來說已經相當足夠。

  • 首次使用權限:第一次建立副本或使用某些自定義指令時,試算表上方可能會出現「允許存取」的提示,請點擊允許以確保公式正常運作。

結語

建立這套系統後,你再也不需要每天打開券商 App 逐一查看。只要打開 Google 試算表,就能一目了然你的投資進度。

檔案下載:若想直接使用範例範本,可以前往彰化一整天檔案下載系統 搜尋相關存股投資格檔案進行下載。



 


2026年1月19日 星期一

還在手動複製貼上?高手寫的免費Excel工具,一鍵下載台股每日收盤價

身為一個關注市場的投資人或數據分析者,你是否每天都得重複著相同的SOP:打開證交所與櫃買中心的網站,手動查詢、複製、再貼上上市、上櫃公司的每日收盤行情?這個過程不僅枯燥乏味,更佔用了你寶貴的時間與精力,讓你無法專注於更核心的分析與決策。
現在,這個惱人的日常任務將迎來終結。一位網路高手「張整天」開發了一款強大的免費Excel工具,它將數十分鐘的機械式勞動,壓縮成一次點擊的價值,徹底解放你的生產力。
--------------------------------------------------------------------------------
1. 一鍵搞定,上市、上櫃行情同步下載
此工具最核心的價值,在於其極致的簡便與高效率。使用者完全不需要繁瑣的操作,只需在Excel工作表中輕輕點擊一下按鈕,一切便自動完成。
• 獨立下載,彈性十足:工具內建了「下載上市」與「下載上櫃」兩個獨立按鈕。你可以根據當下的需求,只抓取特定市場的資料,保持工作表的簡潔。
• 整合下載,效率加倍:更棒的是,作者聽取了網友的建議,將原本兩個獨立的程式整合到同一個檔案中,並新增了一個「下載上市與上櫃」的整合按鈕。對於需要同時關注兩個市場的分析者來說,這項功能意味著只需一次點擊,就能同步獲取所有資料。
• 功能側重,設計周到:值得注意的是,「上市」工作表提供了額外的篩選選項,而「上櫃」工作表則專注於以日期為基礎的純粹數據抓取,兩者在功能上略有側重,滿足不同分析情境。
這正是工作流程優化的典範——同時滿足了需要精準鑽研單一市場的研究者,以及需要宏觀掃描整體市場的分析師,免除了不必要的點擊與畫面切換。
--------------------------------------------------------------------------------
2. 智慧日期判斷,更能回溯歷史資料
除了強大的下載功能,這個工具在日期處理的設計上更展現了作者的貼心與巧思,完美兼顧了效率與彈性。
• 智慧判斷最新交易日:工具採用了簡單而高效的「中午12點」分界線:若在中午12點前執行,它會自動抓取前一個完整交易日的資料;若在12點後執行,則會抓取當日的最新數據。這個設計確保您總能獲取最合適的資料集。
• 自訂查詢特定日期:當你需要回溯研究某一天的歷史資料時,工具同樣能滿足你。只需在指定的欄位手動輸入西元年格式的日期(例如 2020/3/25),工具便會自動轉換格式,並精準抓取該日的歷史收盤數據,讓歷史資料的調閱變得輕而易舉。
這種自動化與手動控制的雙重特性,正是一個優秀生產力工具的標誌——既尊重使用者的時間,也賦予其深度研究所需的彈性。
--------------------------------------------------------------------------------
3. 作者的坦誠與提醒:一個不斷優化的工具
一個好的工具不僅功能強大,其開發者的態度更是建立使用者信任的關鍵。作者「張整天」在這方面展現了高度的透明度與責任感。
• 善意的操作提醒:作者坦誠地提醒使用者,為了確保工具穩定運作,請不要過於頻繁地連續點擊下載按鈕。他在說明中提到:「不能按太頻繁,因為有時候它那個網站會擋掉」,這個重要的須知有助於避免因請求過快而被目標網站暫時封鎖。
• 公開的修正承諾:在示範過程中,作者發現了一個小bug:合併的「下載上市與上櫃」按鈕能正確更新上櫃資料的日期,卻未能將同樣的日期變更應用到上市資料上。他沒有隱藏這個問題,而是直接在影片中承諾:「這個我會再修正後再上傳」。這種坦率的態度不僅展現了他對工具品質的堅持,也讓使用者感受到這是一個會持續被維護、不斷進步的「活專案」,讓人用得更加安心。
--------------------------------------------------------------------------------
結語:解放你的時間,專注於更有價值的事
總結來說,這款由「彰化一整天」開發的免費Excel工具,不僅是一個便利的程式,更應被視為現代分析師不可或缺的效率兵器。它憑藉著自動化、整合性與貼心的設計,將使用者從高重複性、低價值的數據整理勞動中徹底解放。

當繁瑣的資料搜集工作被自動化後,你將如何運用多出來的時間與精力,做出更高品質的分析與投資決策? 



連結試算表跟firebase的優缺點

這是一個非常經典的技術選型問題。簡單來說, Google Sheets(試算表)是「給人看的」 ,雖然可以用來當作簡易資料庫;而 Firebase 是專門設計「給程式用的」 專業後端服務。 選擇哪一個,取決於你的專案規模、預算以及對「即時性」和「安全性」的需求。 以下為您詳細分...