2024-06-02|閱讀時間 ‧ 約 25 分鐘

文字處理基礎函式(五):SUBSTITUTE

上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!

想要複習一下 REPLACE,可以來這:文字處理基礎函式(四):REPLACE




SUBSTITUTE

語法

=SUBSTITUTE(要取代的文字, 要搜尋的文字, 新文字, [項目個數])

REPLACE 一樣,這邊的參數有點多,一樣舉個簡單的例子帶大家了解。

我想把下面這段含有「喜特生鮮」的文字改成「喜特先生」:

套用在 SUBSTITUTE 的語法上就是:

  • 要取代的文字:A1
  • 要搜尋的文字:喜特生鮮
  • 新文字:喜特先生
  • 項目個數:選填,這邊先什麼都不寫。


把這些需求放在一起,就會得到:

=SUBSTITUTE(A1, "喜特生鮮", "喜特先生")

來看看結果:


這邊順利把所有的「喜特生鮮」取代成「喜特先生」了!


我們指定一下項目個數,這邊設為 1 看看:

=SUBSTITUTE(A1, "喜特生鮮", "喜特先生", 1)


注意看看 B1,這邊 SUBSTITUTE 只取代了第一次的「喜特生鮮」,但第二個「喜特生鮮」沒被取代掉。

所以關於項目個數的用法,我們可以這樣解釋:

  • 如果這邊不填參數,SUBSTITUTE 會取代全部搜尋到的文字。
  • 如果這邊填入 N,SUBSTITUTE 會取代第 N 個搜尋到的文字。


應用範例

取代換行符號、把資料拉直


我想把 A 欄的資料拉直,並用頓號(、)隔開。

舉例來說,把 A2 的資料變成「喜特先生、Google 試算表、數據分析」。這個就可以簡單用 SUBSTITUTE 完成。

我們在 B2 寫:

=SUBSTITUTE(A2, CHAR(10), "、")

來看看結果:


接下來只要將 B2 的算式向下拉就搞定了。




所以這邊就可以解決我們的關鍵問題:

REPLACE 跟 SUBSTITUTE 函式差在哪?

雖然說 REPLACESUBTITUTE 的功用都是「取代文字」,但它們有個關鍵差異:

  • 找到關鍵字後,REPLACE 函式只能取代第一次出現的關鍵字,但可在特定起始位置替換或插入特定文字。
  • 找到關鍵字後,SUBSTITUTE 函式可以取代所有出現的關鍵字,也可以取代第 N 次出現的關鍵字

不過,在個人的工作經驗中,我用 SUBSTITUTE 的機會比 REPLACE 多,也覺得 SUBSTITUTE 的語法比 REPLACE 更直接一些些(要取代什麼→要找什麼→新文字是什麼),沒有要找指定文字在哪裡的問題;REPLACE 可能是應付一些比較特殊的狀況才會使用。

當然,除了 FINDSUBSTITUTE 這兩個函式外,主要還有兩個可取代文字的方法:

  • 利用「尋找並取代」功能:適用於靜態的資料。試算表會掃描指定範圍內的儲存格是否含有特定文字,若有就可以取代,也可以一次取代全部。
  • REGEXREPLACE 函式:動態、靜態的資料都可以。這個函式會利用你指定的正規表達式尋找特定字元,若有相符就取代全部文字,個人覺得這個方法最為彈性!

日後喜特先生也會再詳細講解,敬請期待!




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

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

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

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



分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.