網頁

2025年5月3日 星期六

Google Sheets 教學:使用 LET 函數告別冗長公式,提升可讀性!


你是否曾經在撰寫 Google Sheets 公式時,尤其是用到 IF 判斷式,需要重複貼上同一段複雜的計算(例如 IMPORTXML 或 FILTER),導致整個公式變得超級冗長、難以閱讀和維護?

如果是這樣,那麼 LET 函數就是你的救星!

痛點:重複計算讓公式越來越長

在還沒有 LET 函數的年代,如果我們需要根據一個計算結果來做判斷,常常會這樣寫:

假設我們要抓取某個網頁資料 (例如用 IMPORTXML 抓取股價),如果抓不到資料 (可能是"-"符號),就顯示空白,否則顯示抓到的資料。公式可能長這樣:

=IF(IMPORTXML("網址", "XPath 查詢")="-", "", IMPORTXML("網址", "XPath 查詢"))
Excel

在這個例子中,IMPORTXML("網址", "XPath 查詢") 這一段 計算了兩次。如果這段計算本身就很複雜,或是你需要重複使用更多次,整個公式就會變得非常難以管理。

解決方案:LET 函數登場!

LET 函數允許你先為一個或多個計算結果「命名」,然後在最後的公式運算式中使用這些「名稱」來代替原本的計算。這樣做的好處是:

  1. 提升可讀性: 公式結構更清晰,更容易理解。

  2. 簡化公式: 避免重複撰寫相同的複雜計算。

  3. 提升效率: 相同的計算只需要執行一次,其結果會被儲存並重複使用,可能提升複雜公式的計算效能。

LET 函數語法

LET 函數的基本語法如下:

LET(名稱_1, 值運算式_1, [名稱_2, 值運算式_2, ...], 公式運算式)
Excel
  • 名稱_1:你為第一個計算結果取的自訂名稱 (像變數名稱)。

  • 值運算式_1:要進行計算並將結果指派給 名稱_1 的公式。

  • [名稱_2, 值運算式_2, ...]:(選用)你可以定義更多組的名稱和對應的值運算式。

  • 公式運算式:最終要計算的公式,可以在這裡使用前面定義的 名稱_1, 名稱_2 等。

重要提示: 在公式編輯列中,你可以使用 ALT + Enter 來換行,讓 LET 函數的結構更易讀!

實際範例:簡化 IMPORTXML 判斷

讓我們用影片中提到的抓取 Yahoo 股市資料的例子 (00933B.TWO) 來看看 LET 如何應用:

原本的公式 (沒有 LET):

=IF(IMPORTXML("https://tw.stock.yahoo.com/quote/00933B.TWO", "//[@id='main-0-QuoteHeader-Proxy']/div/div[2]/div[1]/div/span[1]")="-", "", IMPORTXML("https://tw.stock.yahoo.com/quote/00933B.TWO", "//[@id='main-0-QuoteHeader-Proxy']/div/div[2]/div[1]/div/span[1]"))

(注意:Yahoo 網頁結構可能變動,此 XPath 不保證永久有效)

使用 LET 函數改寫:

=LET(
    data, IMPORTXML("https://tw.stock.yahoo.com/quote/00933B.TWO", "//[@id='main-0-QuoteHeader-Proxy']/div/div[2]/div[1]/div/span[1]"),
    IF(data="-", "", data)
)
Excel

說明:

  1. LET( 開始函數。

  2. data, IMPORTXML(...):我們將 IMPORTXML 抓取資料的結果命名為 dataIMPORTXML 這段計算只會執行一次。

  3. , 分隔名稱/值組合與最終的公式。

  4. IF(data="-", "", data):這是最終的判斷公式。我們直接使用前面定義的 data 這個名稱來進行比較和輸出,不再需要重複貼上 IMPORTXML

  5. ) 結束函數。

是不是瞬間清爽簡潔多了?

命名規則注意事項

在使用 LET 函數定義名稱時,需要注意以下幾點(根據 Google 官方文件與影片提示):

  1. 不能是範圍參照: 名稱不能是像 A1, B2:C5 這樣的儲存格或範圍位址。

  2. 不能包含空格或特殊字元。

  3. 不得以數字開頭: 例如 9hello 是不合法的名稱。

  4. 名稱區分大小寫。 (雖然影片沒特別提,但這是 Google Sheets 的一般規則)

  5.  函數範圍內有效。

總結

LET 函數是 Google Sheets 中一個強大且能顯著改善公式撰寫體驗的功能。當你需要重複使用某個計算結果時,不妨試試用 LET 來為它命名,你會發現公式變得更短、更易讀、也更方便維護!


沒有留言:

張貼留言

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