如何提取唯一值?試試TEXTJOIN函數(shù)搭配VBA自定義!
?
作者:花花來源:部落窩教育發(fā)布時(shí)間:2022-03-24 16:23:13點(diǎn)擊:3880
編按:
數(shù)據(jù)提取唯一值的案例有很多,解決方法比比皆是。今天要跟大家分享的是TEXTJOIN函數(shù)和VBA自定義的搭配來提取唯一值案例。
小伙伴們,你們好!前兩天小編遇到一位同學(xué)在群里咨詢關(guān)于唯一值提取的問題,今天將問題和解決方法整理了一下分享給大家。
問題案例截圖如下:
要從上圖1中提取數(shù)據(jù)放在圖2中,我們用之前學(xué)過的知識(shí)來嘗試做一下看看,先在K4單元格中輸入函數(shù)TEXTJOIN(",",0,IF($D$4:$D$13=J4,$E$4:$E$13,""))
注意事項(xiàng)如下:
1.公式輸入完成后最后結(jié)束時(shí)需要按Ctrl+Shift+Enter三鍵結(jié)束才可以,因?yàn)檫@是一個(gè)數(shù)組公式。
2. TEXTJOIN函數(shù)是新版本Office中增加的函數(shù),低版本軟件可能不適用;WPS親測(cè)OK
當(dāng)我們公式輸入完成后,提取的結(jié)果同目標(biāo)效果對(duì)比確認(rèn),發(fā)現(xiàn)結(jié)果中存在重復(fù)值的現(xiàn)象,而我們的目標(biāo)是希望結(jié)果中僅存唯一值。剔除重復(fù)值保留唯一值的方法大家還記得怎么處理嗎?
下圖演示以WPS表格為例,我們從開發(fā)工具選項(xiàng)卡中找到VB編輯器,進(jìn)入后插入一個(gè)模塊。Office的Excel也是一樣操作,部分WPS沒有開發(fā)工具選項(xiàng)的需要下載專業(yè)版或者安裝加載宏插件方可使用。
我們將下面的VBA代碼復(fù)制粘貼到剛剛VB編輯器中。
以下橫向中間為VBA代碼
____________________________________________
Function weiyi(text As String)
Dim j As String
For i = 1 To Len(text)
j = Mid(text, i, 1)
If InStr(weiyi, j) = 0 Then weiyi = weiyi & j & ","
Next
weiyi = Left(weiyi, Len(weiyi) - 1)
End Function
____________________________________________
代碼粘貼到模塊中,我們回到剛剛的單元格中,在K4單元格公式前面添加weiyi函數(shù),最后三鍵【Ctrl+Shift+Enter】結(jié)束。最后下拉公式填充就可以了,到此我們就實(shí)現(xiàn)了開篇同學(xué)問的提取唯一值的問題了。
從第一步TEXTJOIN函數(shù)錄入到代碼復(fù)制粘貼運(yùn)用以及最后的自定義weiyi函數(shù)使用的步驟如下圖:
本想實(shí)現(xiàn)后,代碼和步驟給提問的小伙伴就沒有問題了。誰知道小伙伴非常敬業(yè)地咨詢代碼的意思,愛學(xué)的同學(xué)真好,看這位同學(xué)想起我當(dāng)年求知若渴的樣子,我放下手頭工作,跟大家詳細(xì)的嘮了一會(huì)。
我們一起開看看公式的結(jié)構(gòu),拆分理解一下。weiyi是“唯一”的拼音,通過VBA自定義的衍生函數(shù),所以在沒有自定義函數(shù)之前,Excel里面是沒有這個(gè)函數(shù)的哦。當(dāng)然你也可以自定義為其他名稱。TEXTJOIN函數(shù)一共有三個(gè)參數(shù),第一參數(shù)我們通常稱為需要作為分隔符的內(nèi)容,第二參數(shù)可以設(shè)置忽略空單元格或者包含空單元格,第三參數(shù)使用IF函數(shù)判斷單元格的值是否等于目標(biāo)值,如果是返回對(duì)應(yīng)列的值,否則為空。具體解釋內(nèi)容大家可以對(duì)比下圖進(jìn)行理解:
到此,我相信大家應(yīng)該看懂了,如果有小伙伴對(duì)VBA代碼和編寫感興趣的,可以學(xué)習(xí)小奇老師的《零基礎(chǔ)玩會(huì)VBA》課程哦。
以上就是今天跟大家分享的內(nèi)容,感謝大家耐心看完,希望大家能夠喜歡。
本文配套的練習(xí)課件請(qǐng)加入QQ群:902294808下載。 做Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你! 掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel:
相關(guān)推薦: 將excel中的數(shù)據(jù)按照指定數(shù)量進(jìn)行重復(fù),非得用VBA才能實(shí)現(xiàn)嗎? Power Query的數(shù)據(jù)替換技巧比Excel函數(shù)更萬能! 版權(quán)申明: 本文作者花花;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長(zhǎng)像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實(shí)戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會(huì)這2個(gè)公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報(bào)表……
- 如何計(jì)算Excel單元格中的算式,四種求和方法請(qǐng)收好!
最新教程
- 多功能銷售日歷模板制作
- 用正則函數(shù)快速拆分單元格中的同類數(shù)據(jù)
- 用免費(fèi)AI將圖片批量轉(zhuǎn)表格
- 先入先出出入庫(kù)模板中出庫(kù)批次的自動(dòng)匹配
- 用SUBSTITUTE替換法為產(chǎn)品找到最匹配的類別
- SHEETSNAME,一鍵獲得所有工作表名稱完成目錄制作
- 延遲退休落地,快速查詢你上幾年才退休!
- 快速將PDF電子發(fā)票數(shù)據(jù)提取到發(fā)票明細(xì)登記表的方法
- 提取、查找、替換數(shù)據(jù)的王者——REGEXP正則函數(shù)
- Excel表10萬行數(shù)據(jù),篩選卡頓怎么辦?