編按:數(shù)據(jù)提取唯一值的案例有很多,解決方法比比皆是。今天要跟大家分享的是TEXTJOIN函數(shù)和VBA自定義的搭配來(lái)提取唯一值案例。 小伙伴們,你們好!前兩天小編遇到一位同學(xué)在群里咨詢關(guān)于唯一值提取的問(wèn)題,今天將問(wèn)題和解決方法整理了一下分享給大家。 問(wèn)題案例截圖如下: 要從上圖1中提取數(shù)據(jù)放在圖2中,我們用之前學(xué)過(guò)的知識(shí)來(lái)嘗試做一下看看,先在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沒(méi)有開發(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é)問(wèn)的提取唯一值的問(wèn)題了。 從第一步TEXTJOIN函數(shù)錄入到代碼復(fù)制粘貼運(yùn)用以及最后的自定義weiyi函數(shù)使用的步驟如下圖: 本想實(shí)現(xiàn)后,代碼和步驟給提問(wèn)的小伙伴就沒(méi)有問(wèn)題了。誰(shuí)知道小伙伴非常敬業(yè)地咨詢代碼的意思,愛學(xué)的同學(xué)真好,看這位同學(xué)想起我當(dāng)年求知若渴的樣子,我放下手頭工作,跟大家詳細(xì)的嘮了一會(huì)。 我們一起開看看公式的結(jié)構(gòu),拆分理解一下。weiyi是“唯一”的拼音,通過(guò)VBA自定義的衍生函數(shù),所以在沒(méi)有自定義函數(shù)之前,Excel里面是沒(méi)有這個(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)容,感謝大家耐心看完,希望大家能夠喜歡。 做Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你! 相關(guān)推薦: 將excel中的數(shù)據(jù)按照指定數(shù)量進(jìn)行重復(fù),非得用VBA才能實(shí)現(xiàn)嗎? Power Query的數(shù)據(jù)替換技巧比Excel函數(shù)更萬(wàn)能! 版權(quán)申明: 本文作者花花;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。 |
|
來(lái)自: 部落窩教育BLW > 《部落窩excel/VBA》