前兩天小編為令人煩惱的文本處理寫了一個(gè)SplitText,解決了拆分的煩惱,今天我們?cè)賮?lái)盤點(diǎn)一下文本的合并同類型,逆向拆分問(wèn)題(再談)
閱讀前,提醒一下,本文涉及知識(shí)較多,全程原創(chuàng)干貨,信息量爆炸,難度較大。請(qǐng)先洗把臉,倒杯茶,靜心閱讀,如閱讀過(guò)程中,有頭疼、嘆氣、呆滯等不適,請(qǐng)及時(shí)收藏,慢慢理解(我是認(rèn)真的~),想要全部吃透,需要特別“肝”!
小二,上菜!
上錯(cuò)了,小二,上水果,尤其是“瓜”,多來(lái)點(diǎn)!
先說(shuō)合并,再談拆分
合并同類項(xiàng),效果先看一下,是不是很熟悉,這個(gè)需求很常見(jiàn)!
先說(shuō)說(shuō)函數(shù)法吧,昨天發(fā)的投票,目前來(lái)看大家偏愛(ài)函數(shù)較多,還沒(méi)投的可以投一下!
篇幅問(wèn)題,我們采用簡(jiǎn)述,需要詳解解析,我們另出文章或視頻。
函數(shù)方法,我們分兩種,一種是通用版本,一種是高版本新出的函數(shù)!
通用函數(shù)法
函數(shù)圈子,喜歡叫做“一勺匯”,下次別人說(shuō)起,你應(yīng)該知道不是,咱都是見(jiàn)過(guò)世面的!
公式:=MID(SUBSTITUTE(PHONETIC(OFFSET($A$1,MATCH(D2,$A$2:$A$16,),,COUNTIF(A:A,D2),2)),D2,"/"),2,99)
公式簡(jiǎn)述:
OFFSET函數(shù),用于找到每一類的區(qū)域,使用PHONETIC直接合并
最后使用SUBSTITUTE,把我們的類別替換成你需要的分隔符,由于首列是類別,會(huì)多一個(gè)分隔符,MID用于容錯(cuò)次問(wèn)題
要點(diǎn)提示:
1、PHONETIC只能合并文本,其中如果有數(shù)值,需要先轉(zhuǎn)文本,否則失敗!
2、每個(gè)類別需排序,亂序無(wú)果
新函數(shù)法
2016及365新出了幾個(gè)文本函數(shù),其中TextJoin和Cancat算是一個(gè)亮點(diǎn),小編這里未激活對(duì)應(yīng)的版本,不過(guò)WPS已同步出現(xiàn)(功能基本一致),這里我們?cè)赪PS中給大家演示一下!
公式(數(shù)組):=TEXTJOIN("/",TRUE,IF($A$2:$A$16=D2,$B$2:$B$16,""))
公式簡(jiǎn)述:TEXTJOIN(分隔符,是否忽略是文本,需要連接的字符串)
第三參數(shù),判斷是否和合并類別一致,一致返回名稱,否則返回空,第二參數(shù)忽略空,結(jié)果OK
要點(diǎn)提示:基礎(chǔ)函數(shù)特性,數(shù)據(jù)可亂序,這點(diǎn)強(qiáng)于通用函數(shù)做法
前兩天的SplitText,很多小伙伴,就留言PQ不香嗎?好像不PQ一下,總感覺(jué)缺少點(diǎn)啥,好在小編正好PQ也懂點(diǎn)皮毛,今天我們就讓他完整一下吧!
PQ函數(shù)法
上Power Query(PQ)演示版本:2016(自帶),其他版本:百度安裝插件
PQ函數(shù)法(PQ不熟的小伙伴,可簡(jiǎn)單了解跳過(guò))
PQ函數(shù)公式:= Table.TransformColumns(Table.Group(源,"類別",{"合并",each [名稱]}),{"合并",each Text.Combine(_,"/")})
函數(shù)簡(jiǎn)述:Table.Group按照類別分組,使用Text.Combine可以實(shí)現(xiàn)按照指定分隔符合并對(duì)應(yīng)的List文本
要點(diǎn)提示:Table.Group可以全局分組也可以局部分組,所以PQ中我們也可以亂序,這里用的全局分組
當(dāng)然PQ函數(shù)不熟的小伙伴,也可以直接手動(dòng)操作菜單,也是OK的
PQ技巧操作法
PQ技巧操作(動(dòng)畫演示):
過(guò)程中我們使用空格先合并,是為了使用修整功能,刪除收尾空格,然后替換你需要的分隔符,如果使用函數(shù)Text.Combine則不考慮
VBA法
當(dāng)然,我們也可以使用VBA處理,也不是什么難事
這里我們大概寫一下,本次就不寫自定義函數(shù)了,有需要,后期我們?cè)傺a(bǔ)充!
數(shù)組+字典的寫法
小結(jié):
這樣一個(gè)常見(jiàn)問(wèn)題,我們?yōu)槭裁匆v解這么多方法,為了讓你面對(duì)不同的場(chǎng)景有更多的選擇,可能對(duì)于合并小伙伴來(lái)說(shuō),只會(huì)其中的一兩種,或者有的根本沒(méi)聽(tīng)說(shuō)過(guò),但是這會(huì)大大擴(kuò)展你的思路。
最后,古人云:養(yǎng)成習(xí)慣,點(diǎn)贊“在看”!See You
聯(lián)系客服