首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel数据提取技巧:搭配VBA自定义函数提取唯一值

编按:数据提取唯一值的案例有很多,解决方法比比皆是。今天要跟大家分享的是TEXTJOIN函数和VBA自定义的搭配来提取唯一值案例。

小伙伴们,你们好!前两天小编遇到一位同学在群里咨询关于唯一值提取的问题,今天将问题和解决方法整理了一下分享给大家。

问题案例截图如下:

要从上图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》课程哦。

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

做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

相关推荐:

将excel中的数据按照指定数量进行重复,非得用VBA才能实现吗?

如何在特定位置批量插入空行等12种实用办公技巧

4种删除excel重复值的小妙招,速收藏

Power Query的数据替换技巧比Excel函数更万能!

版权申明:

本文作者花花;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230524A02MQC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com