透過這個方式,你就能輕鬆打造一個自動更新、簡潔易讀的即時報表了!
彰化一整天的由來 早期的blogger要寫簡介,想說取一個比較特別沒人用過的名稱,有人說過名字要讓人好奇,說明後又不會忘記,還要跟自己有關,在布袋戲中有看到一頁書的角色,想說自己的名字是明和,明和的明是日月合在一起來,日跟月就是一整天,因為這個名字太普遍,我又是彰化人,所以就在前面加上彰化變成【彰化一整天】。
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 工作表拖曳到最左邊(變成第一個分頁),這樣你的程式就會直接抓取這個已經整理、排序好的乾淨數據,而不需要修改程式碼。
訂閱:
張貼留言 (Atom)
AppSheet 教學:解決 RowNumber 警告,使用 UNIQUEID() 產生安全可靠的唯一主鍵
前言 在使用 AppSheet 開發應用程式時,我們經常需要為每一筆新紀錄產生一個獨一無二的編號,類似資料庫中的「自動流水號」。許多初學者會直覺地使用系統內建的 RowNumber 列 號 作為主鍵(KEY),但很快就會發現 AppSheet 跳出一個警告訊息,這不僅影響...
-
今天跟大家分享一個實用的Google教學:如何使用Google Apps Script來自動化複製您自訂的股票清單每日股價。 之前我分享的腳本大多是查詢「當天」的股價,但如果您想追蹤長期的股價變化,建立自己的歷史資料庫,那麼這個新腳本將會非常有用。它會自動將您設定的股票每日收盤價...
-
今天windows 10更新後,重新開機用倉頡輸入法輸入後無法按空白送出,底下是解決方法。 1.無法按空白送出 2.開啟【使用舊版的微軟倉頡】 按下 Windows + I 開啟「設定」。 前往「時間與語言」→「語言」→ 點選「中文(繁體,台灣)」→「選項」。 在「鍵盤」下找到「...
-
前言 許多投資者喜歡使用 Google Sheets 來追蹤自己的投資組合,其中 GOOGLEFINANCE 函數非常方便,可以輕鬆抓取上市公司的股價等資訊。然而,當我們需要追蹤 上櫃股票 或其他特定金融商品時, GOOGLEFINANCE 可能就無法使用了。這時候,Goo...
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。