怎麼把這七個儲存格的文字:
變成這一個儲存格呢?
你可以用 TEXTJOIN
!沒錯,TEXTJOIN
可以讓你用想要的字元,把儲存格內、某範圍內的文字串在一起。
在數據分析工作中,我們偶爾會用到 TEXTJOIN
來把不同儲存格串起來,把欄位合併起來,可以簡化資料的結構、或是建立新資料(ID、姓名、貨號等)。
一起來看看怎麼用吧!
=TEXTJOIN(串連字元, 是否忽略空白字元, 文字 1, [文字 2, ...])
"/"
、"|"
、","
等。如果只是想要單純把文字串起來、不用這個串連字元,可以寫 ""
,表什麼都不寫。TRUE
或 FALSE
,這邊通常會寫 TRUE
。特別提一下第二點「是否忽略空白」這部分。如果你在文字 1、文字 2 等文字有空白的儲存格,你可以填入 TRUE
來讓 TEXTJOIN
忽略它們,結果就會是不包含文字中選取的空白儲存格。
看到這,如果你還記得 SPLIT
的話,你可以把 TEXTJOIN
想成 SPLIT
的相反:
TEXTJOIN
可以把儲存格內的字元串起來SPLIT
則是可以把儲存格內的字元分割出去(延伸閱讀:SPLIT,分隔文字第二招)簡單做了一張比較表:
&
跟 CONCAT
是相等的,原則上我們會用 &
來串連兩個字元。如果有多個字元要串,你會需要多寫幾個 &
或是很多次的 CONCAT
。CONCATENATE
可以串連多個字元,也可以指定一個或多個範圍(像是上圖的 C3:C7
)。TEXTJOIN
也可以串連多個字元、串連一個或多個範圍(D3:D7
),但你可以指定想要的串連字元,像是這邊的「!
」。歡迎打開這邊的試算表,複製一份,一起來練習!
這邊有一組地址的資料,需要我們把 B 欄到 F 欄的資料合併在一起,並且用「 / 」串連:
我們在 G2 這邊寫:
=TEXTJOIN(" / ", TRUE, B2:F2)
" / "
,以「 / 」這個符號串連儲存格。TRUE
,如果有空白的儲存格則忽略。B2
到 F2
。來看看結果:
不錯,符合我們要的成果!再來把它套用到其他列即可:
順帶一提,如果你不需要「/
」這個串連字元,這也當然可以用 CONCATENATE
來完成,也就是:
=CONCATENATE(B2:F2)
效果就會是下圖這樣:
零售商、電商常常用「貨號」來為自己的商品編碼。有了貨號,搜尋倉庫裡的庫存、對商品的規格做分類,到後面處理訂單就會很方便,還可以跟 POS 系統串連在一起,是管理商品的好方法。這樣的貨號通常是由數字或字母組成,裡面包含辨識產品必要的資訊,像是一組獨特的身分證。
製作這種貨號的常見方式,就是把商品的名稱和規格串連在一起。請看下面的練習:
假設我在某個電商工作,要按照「產品-版本-顏色-容量
」的格式製作貨號。在 TEXTJOIN
要怎麼做呢?很簡單,我們在 E2
輸入:
=TEXTJOIN("-", TRUE, A2:D2)
"-"
,以「-」這個符號串連儲存格。TRUE
,如果有空白的儲存格則忽略。A2
到 D2
。來看看結果:
讚!來套用到其他列:
這樣就完成了!
最後回到文章開頭出現的問題:
來試試看把它變成這樣:
看起來是可以用 TEXTJOIN
合併起來,但唯一的小問題是這邊的「串連字元」要怎麼寫?答案在這:
=TEXTJOIN("✨" & CHAR(10), TRUE, A2:A8)
"✨" & CHAR(10)
稍稍解釋一下。首先我寫一個閃亮閃亮的 emoji「✨
」,然後後面跟著一串 CHAR(10)
,在這之間用 &
接起來。
CHAR(10)
是什麼?Google 試算表有個叫做 CHAR
的函式,輸入特定的編號可以召喚出特殊的字元,其中 CHAR(10)
就是可以讓文字在儲存格內換行的特殊字元。
所以 TEXTJOIN
這邊做的,就是在儲存格後面加上「✨」後換行,然後再串到下一個儲存格,再加上「✨」後換行、再串到下一個、再加上「✨」後換行⋯⋯。這樣就可以囉!
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
想要看更多文章的話,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!