2025年11月6日 星期四

Google 試算表教學:利用 QUERY 函數自訂表單查詢欄位,並只顯示最新 10 筆資料

在使用 Google 表單(Google Forms)收集資料時,回應的資料會自動記錄在 Google 試算表中。隨著時間推移,資料會越來越多,每次要查看最新的回應都必須不斷往下滑動頁面,非常不方便。如果想將資料分享給他人查看,對方也得面臨同樣的困擾。 今天這篇教學要分享如何利用 Google 試算表強大的 `QUERY` 函數,在一個新的工作表中建立一個「儀表板」,讓你能夠: 1. **自訂想顯示的欄位**(不用顯示全部雜亂的資料)。 2. **自動排序**(讓最新的資料顯示在最上方)。 3. **限制顯示筆數**(例如只顯示最新的 10 筆)。 4. **更改欄位標題名稱**(讓報表更易讀)。 #### 為什麼要用 QUERY 函數? `QUERY` 函數允許我們使用類似 SQL 的語法來查詢表格資料。它的基本結構是: `=QUERY(資料範圍, "查詢語句", 標題列數)` 我們將會用到以下幾個關鍵字: * **SELECT**:選擇要顯示的欄位(例如 A、B、C)。 * **ORDER BY**:排序資料(`asc` 為遞增,`desc` 為遞減)。 * **LIMIT**:限制回傳的資料筆數。 * **LABEL**:更改欄位的顯示名稱。 * **WHERE**:設定篩選條件。 #### 實作步驟教學 **步驟一:建立新工作表並輸入基本 QUERY 函數** 首先,在你的試算表中建立一個新的工作表(Tab)。在 A1 儲存格輸入以下公式,選取「表單回應」工作表的資料範圍: ```excel =QUERY('表單回應 1'!A:G, "SELECT *") ``` * `'表單回應 1'!A:G`:這是你的資料來源範圍。 * `SELECT *`:代表顯示所有欄位。 **步驟二:自訂要顯示的欄位 (SELECT)** 通常我們不需要顯示所有欄位。假設我們只想看「時間戳記 (A)」、「產品名稱 (B)」、「數量 (C)」與「總價 (G)」,我們可以修改公式: ```excel =QUERY('表單回應 1'!A:G, "SELECT A, B, C, G") ``` > **重要提醒**:在 `QUERY` 語法中,欄位代號一定要用 **大寫字母** (A, B, C...)。如果寫成小寫 (a, b, c),會出現 `#VALUE!` 錯誤。 **步驟三:讓最新資料排在最上面 (ORDER BY)** 預設排序是舊資料在上面。要讓最新的資料排在最上方,我們需要依據「時間戳記 (A欄)」進行降序排列 (`desc`): ```excel =QUERY('表單回應 1'!A:G, "SELECT A, B, C, G ORDER BY A DESC") ``` **步驟四:解決空白列置頂的問題 (WHERE)** 當你使用 `ORDER BY DESC` 時,試算表可能會把下方大量的空白列排在最上面,導致你看不到資料。這時需要加上 `WHERE` 條件來排除空白列: ```excel =QUERY('表單回應 1'!A:G, "SELECT A, B, C, G WHERE A IS NOT NULL ORDER BY A DESC") ``` * `WHERE A IS NOT NULL`:告訴公式只選取 A 欄 (時間) 不為空的列。 **步驟五:只顯示最新的 10 筆資料 (LIMIT)** 如果你只想專注在最近的幾筆交易,可以使用 `LIMIT`: ```excel =QUERY('表單回應 1'!A:G, "SELECT A, B, C, G WHERE A IS NOT NULL ORDER BY A DESC LIMIT 10") ``` **步驟六:更改欄位顯示名稱 (LABEL)** 原本 A 欄的標題是「時間戳記」,我們想把它改成「訂購時間」。可以使用 `LABEL` 關鍵字,記得新名稱要用單引號 `'` 包起來: ```excel =QUERY('表單回應 1'!A:G, "SELECT A, B, C, G WHERE A IS NOT NULL ORDER BY A DESC LIMIT 10 LABEL A '訂購時間'") ``` #### 完整公式範例 綜合以上步驟,你最終的公式會長得像這樣: ```excel =QUERY('表單回應 1'!A:G, "SELECT A, B, C, G WHERE A IS NOT NULL ORDER BY A DESC LIMIT 10 LABEL A '訂購時間' LABEL G '總金額'", 1) ``` *(註:最後面的 `1` 代表資料範圍的第一列是標題列)* #### 進階小技巧 如果你有使用 Google Apps Script 撰寫程式來抓取試算表資料,通常程式預設會抓取「第一個」工作表。你可以將這個整理好的 QUERY 工作表拖曳到最左邊(變成第一個分頁),這樣你的程式就會直接抓取這個已經整理、排序好的乾淨數據,而不需要修改程式碼。  

透過這個方式,你就能輕鬆打造一個自動更新、簡潔易讀的即時報表了!


 


沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

AppSheet 教學:解決 RowNumber 警告,使用 UNIQUEID() 產生安全可靠的唯一主鍵

前言 在使用 AppSheet 開發應用程式時,我們經常需要為每一筆新紀錄產生一個獨一無二的編號,類似資料庫中的「自動流水號」。許多初學者會直覺地使用系統內建的  RowNumber   列 號  作為主鍵(KEY),但很快就會發現 AppSheet 跳出一個警告訊息,這不僅影響...