打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何提取唯一值?试试TEXTJOIN函数搭配VBA自定义!

关键字:提取唯一值;函数;TEXTJOIN

栏目:函数
全文984字  预计3分钟看完

小伙伴们,你们好!

今天是清明小长假的第一天。

本是鸟语花香的四月,奈何疫情反复,寸步难行。

希望回家探亲的小伙伴注意防护,带好口罩呀!

共克时艰,抗击疫情。

好啦,今天给大家讲一讲关于提取唯一值的问题。

问题案例截图如下:

要从上图1中提取数据放在图2中,我们用之前学过的知识来尝试做一下看看,先在K4单元格中输入函数TEXTJOIN(",",0,IF($D$4:$D$13=J4,$E$4:$E$13,""))

注意事项如下:

1.公式输入完成后最后结束时需要按Ctrl+Shift+Enter三键结束才可以,因为这是一个数组公式。

2. TEXTJOIN函数是新版本Office中增加的函数,低版本软件可能不适用;WPS亲测OK

当我们公式输入完成后,提取的结果同目标效果对比确认,发现结果中存在重复值的现象,而我们的目标是希望结果中仅存唯一值。

剔除重复值保留唯一值的方法大家还记得怎么处理吗?

下图演示以WPS表格为例,我们从开发工具选项卡中找到VB编辑器,进入后插入一个模块。Office的Excel也是一样操作,部分WPS没有开发工具选项的需要下载专业版或者安装加载宏插件方可使用。

我们将下面的VBA代码复制粘贴到刚刚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函数,最后三键【Ctrl+Shift+Enter】结束。最后下拉公式填充就可以了,到此我们就实现了开篇同学问的提取唯一值的问题了。

从第一步TEXTJOIN函数录入到代码复制粘贴运用以及最后的自定义weiyi函数使用的步骤如下图:

本想实现后,代码和步骤给提问的小伙伴就没有问题了。谁知道小伙伴非常敬业地咨询代码的意思,爱学的同学真好,看这位同学想起我当年求知若渴的样子,我放下手头工作,跟大家详细的唠了一会。

我们一起开看看公式的结构,拆分理解一下。weiyi是“唯一”的拼音,通过VBA自定义的衍生函数,所以在没有自定义函数之前,Excel里面是没有这个函数的哦。当然你也可以自定义为其他名称。TEXTJOIN函数一共有三个参数,第一参数我们通常称为需要作为分隔符的内容,第二参数可以设置忽略空单元格或者包含空单元格,第三参数使用IF函数判断单元格的值是否等于目标值,如果是返回对应列的值,否则为空。具体解释内容大家可以对比下图进行理解:

到此,我相信大家应该看懂了,如果有小伙伴对VBA代码和编写感兴趣的,可以微信扫码在群里免费领取一套VBA视频教程学习。

上就是今天跟大家分享的内容,感谢大家耐心看完,希望大家能够喜欢。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一个VBA自定义函数,使用文本格式连接唯一值单元格
Function自定义函数_模拟2016版本新函数 TextJoin
满足条件的多个值如何显示在一个单元格中
Excel VBA高级自定义字符串连接函数 仿Office365中Textjoin函数 合并字符 |...
一个例子入门VBA自定义Excel函数(多值查找)
方方格子到期了?不用再找pòjiě版了,这里有个免费还好超用的!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服