trimWhitespace():裁切多餘空白

閱讀時間約 4 分鐘

接續著上次介紹過的 removeDuplicates():移除重複資料,這次也想介紹一個在數據清理時,很基本、很簡單的一步,trimWhitespace(),功能相近於「移除多餘空白」功能以及 TRIM 函式(延伸閱讀:裁剪空格與 TRIM)。

trimWhitespace()會幫你移除的有這些:

  • 值前後多餘的空白( 喜特先生
  • 文字中多餘的空白(喜特 先 生
  • 換行
  • Tab 空白

另外,我常常把 removeDuplicates()trimWhitespace() 這兩個方法當組合技,放在腳本裡面一起用。

來看看怎麼操作吧!




使用場景

removeDuplicates() 類似,很適合的場景當然就是清理數據的時候了!

我喜歡在這種腳本的開頭、或是末端加入 trimWhitespace(),大概像是這樣:

function dataCleaning() {

// 宣告變數;
​range.trimWhitespace();
// 清理步驟一;
// 清理步驟二;
// 清理步驟三;

}

上面的意思是,腳本會先清除範圍內的多餘空白,然後進入清理步驟。

removeDuplicates() 搭配也是很常見的手段,像是這樣:

function dataCleaning() {

// 宣告變數;
range.trimWhitespace();
​range.removeDuplicates();
// 後續步驟...

}

要注意,裁切後的值如果是「+」或是「=」開頭,試算表會把它們當成文字,而不是算式或函式。所以假如你把「 =COUNTA(A:C) 」餵給 trimWhitespace(),你會得到「COUNTA(A:C)」的文字,試算表不會執行這個函式喔。

一樣要注意 trimWhitespace() 只能移除靜態的資料,沒辦法移除某些函式輸出的動態資料,像是 QUERYIMPORTRANGEGOOGLEFINANCE 等函式,這時會建議搭配 TRIM 或是其他可以整理陣列的函式。




語法講解

trimWhitespace() 的用法相當簡單,只要定義好範圍,就可以用這個方法來去除空白。語法相當簡單,在範圍後面寫 trimWhitespace() 即可,括號裡面什麼參數都不必放。舉例:

function dataCleaning() {

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const range = sheet.getRange("A:E");

range.trimWhitespace();

}


如果要像剛剛用 removeDuplicates(),就會像這樣:

function dataCleaning() {

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const range = sheet.getRange("A:E");

range.trimWhitespace();
range.removeDuplicates();
}


我會覺得先寫 trimWhitespace()、再寫 removeDuplicates() 應該會比較有效地清理不必要的資料;如果順序反了,可能會有移除掉重複的資料後、還會有剩下的空白。

相當簡單,一起來操作看看吧!




如果你喜歡這次的文章,歡迎你透過這些方法支持我:

  • 按下愛心、按下儲存
  • 留言告訴我你的想法
  • 加入喜特先生的官方沙龍,即時看到我發布的教學
  • 付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
  • 追蹤喜特先生的 Facebook
  • 這邊小額贊助我的創作!

想要看更多文章的話,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!

我是喜特先生,Mr. Sheet,我們下個教學見!



avatar-img
14.2K會員
148內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
之前在三招移除重複資料的教學,介紹了用三種方式來把工作表上的重複資料移除,各自有各自適合的場景,其實還有一招是 Apps Script 上可以操作的,就是今天要介紹的 removeDuplicates() 這個方法(method)。
之前在三招移除重複資料的教學,介紹了用三種方式來把工作表上的重複資料移除,各自有各自適合的場景,其實還有一招是 Apps Script 上可以操作的,就是今天要介紹的 removeDuplicates() 這個方法(method)。
你可能也想看
Google News 追蹤
Thumbnail
題目敘述 Minimum Deletions to Make String Balanced 給定一個只會有包含'a'b或'b'的輸入字串s。 每次操作可以任選一個字元刪除。 請問最少需要多少次操作,才會使得所有的'b'都在'a'後面? 測試範例 Example 1: Input: s
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
“斷捨離、居家整理的好處之一是可以省錢。”經過幫客人實際整理的經驗後,我真切地體會到這句話並不是紙上談兵的理論,而是實實在在的可以幫助我們省錢。
Thumbnail
資料中如果有特定的內容需要移除,並且是有一定的規則,EXCEL會蠻多種解決方案。 用一個資料進行舉例: 這份資料中每個課程後面都有一個括號備註日期。 如何把括號中的日期快速刪除,分享幾種常見的方法 取代法 剖析法 CTRL+E法 函數法 【💡取代法】 選取資料範圍
(禁止轉發、轉貼、抄襲,有任何需求須經過本人同意) 最近我在小帳發起投票,問大家平時有沒有斷捨離的習慣,發現原來不少人平時也會斷捨離! 斷捨離除了整理家裡物品之外,還能更了解自己🫶🏻 1、斷捨離的方法 2、為什麼要斷捨離? 3、總結 1、以下有一些方法給大家參
Thumbnail
如何運用函數來讓資料產生空白列,而且當輸入多少數字,就會插入多少空白列。 <插入空白列> E5=TOCOL(EXPAND(B5:B9,,C3+1,"")) 📝函數說明 ✍🏾EXPAND陣列擴展函數 函數說明=EXPAND(範圍,展開的列,展開的欄,要展開的內容)
Thumbnail
「元件削減」刪除系統中的特定元件,把此元件的有用功能轉移到系統其它剩餘的元件或是超系統(周遭環境中)的元件,實現成本節省、製程簡化、易用易修、提升系統整體效益的目標。本文中大學旅館系的師資削減案例,可突顯了削減對成本控制的實際情況。元件削減常用在專利迴避方面;因元件少於別人專利,可以迴避對方專利。
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表email欄位為比較基準,刪除重複的列 data rows,只保留最早第一次出現的。 題目的原文敘述 Example 1: Input: +-------------+---------+--------
Thumbnail
題目敘述 題目會給我們一個整數陣列,裡面包含各種正整數,每回合可以消去兩個相同的數字,或者消去三個相同的數字。問最少需要幾次消去,才能讓陣列為空? 如果無解,則返回-1 詳細的題目可在這裡看到 測試範例 Example 1: Input: nums = [2,3,3,2,2,4,2,3,
Thumbnail
題目敘述 Minimum Deletions to Make String Balanced 給定一個只會有包含'a'b或'b'的輸入字串s。 每次操作可以任選一個字元刪除。 請問最少需要多少次操作,才會使得所有的'b'都在'a'後面? 測試範例 Example 1: Input: s
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
“斷捨離、居家整理的好處之一是可以省錢。”經過幫客人實際整理的經驗後,我真切地體會到這句話並不是紙上談兵的理論,而是實實在在的可以幫助我們省錢。
Thumbnail
資料中如果有特定的內容需要移除,並且是有一定的規則,EXCEL會蠻多種解決方案。 用一個資料進行舉例: 這份資料中每個課程後面都有一個括號備註日期。 如何把括號中的日期快速刪除,分享幾種常見的方法 取代法 剖析法 CTRL+E法 函數法 【💡取代法】 選取資料範圍
(禁止轉發、轉貼、抄襲,有任何需求須經過本人同意) 最近我在小帳發起投票,問大家平時有沒有斷捨離的習慣,發現原來不少人平時也會斷捨離! 斷捨離除了整理家裡物品之外,還能更了解自己🫶🏻 1、斷捨離的方法 2、為什麼要斷捨離? 3、總結 1、以下有一些方法給大家參
Thumbnail
如何運用函數來讓資料產生空白列,而且當輸入多少數字,就會插入多少空白列。 <插入空白列> E5=TOCOL(EXPAND(B5:B9,,C3+1,"")) 📝函數說明 ✍🏾EXPAND陣列擴展函數 函數說明=EXPAND(範圍,展開的列,展開的欄,要展開的內容)
Thumbnail
「元件削減」刪除系統中的特定元件,把此元件的有用功能轉移到系統其它剩餘的元件或是超系統(周遭環境中)的元件,實現成本節省、製程簡化、易用易修、提升系統整體效益的目標。本文中大學旅館系的師資削減案例,可突顯了削減對成本控制的實際情況。元件削減常用在專利迴避方面;因元件少於別人專利,可以迴避對方專利。
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表email欄位為比較基準,刪除重複的列 data rows,只保留最早第一次出現的。 題目的原文敘述 Example 1: Input: +-------------+---------+--------
Thumbnail
題目敘述 題目會給我們一個整數陣列,裡面包含各種正整數,每回合可以消去兩個相同的數字,或者消去三個相同的數字。問最少需要幾次消去,才能讓陣列為空? 如果無解,則返回-1 詳細的題目可在這裡看到 測試範例 Example 1: Input: nums = [2,3,3,2,2,4,2,3,