当前位置: 首页 > news >正文

Excel函数CUnique连接合并指定区域的唯一值

       上一篇文章向大家介绍了如何使用VBA在低版本Excel中创建unique函数的方法,今天我跟大家分享一下如何使用函数连接指定区域的唯一值,也就是将unique函数获取的唯一值连接合并成一个,并指定连接符。

        同样,我们需要先创建一个自定义的ConcatenateUnique函数,简称CUnique函数,该函数有两个参数,一个是定义范围,一个是定义连接符。

        使用方法如下:

        例:=CUnique(C1:C7,",") ,计算结果如下图1。

        VBA创建CUnique函数的代码如下:

Option Explicit
Function CUnique(ByRef rngRange As Range, Optional ByVal Seperator As String = " ", Optional ByVal Format As String = "@", Optional ByVal CaseSensitive As Boolean = False) As String
' 连接指定区域的唯一值,并指定连接符。Dim rng As RangeDim strAnswer As StringDim strTemp As StringDim CompMethod As VbCompareMethod'为InStr函数设置文本比较模式If CaseSensitive ThenCompMethod = vbBinaryCompareElseCompMethod = vbTextCompareEnd IfFor Each rng In rngRangestrTemp = rng.Value'仅处理非空单元格If Not strTemp = vbNullString Then'应用格式strTemp = Application.WorksheetFunction.Text(strTemp, Format)'首先初始化结果字符串, 然后合并If strAnswer = vbNullString ThenstrAnswer = strTempElse'仅合并唯一值If InStr(1, Seperator & strAnswer & Seperator, Seperator & strTemp & Seperator, CompMethod) = 0 ThenstrAnswer = strAnswer & Seperator & strTempEnd IfEnd IfEnd IfNext rng'返回结果字符串CUnique = strAnswer
End Function

        此外,我们还可以创建JoinUnique函数来实现这一效果,简称JUnique函数,使用方法跟CUnique函数相同。

        使用方法如下:

        例:=JUnique(C1:C7,",") 

        VBA创建JUnique函数的代码如下:

Option Explicit
Function JUnique(rng As Range, del As String) As String
' 连接指定区域的唯一值,并指定连接符。Dim d As ObjectSet d = CreateObject("scripting.dictionary")Dim r As RangeDim str As StringFor Each r In rngstr = r.Value'仅处理非空单元格If Not str = vbNullString Thend(r.Text) = ""End IfNextJUnique = Join(d.keys, del)
End Function

        JUnique函数的代码比较简洁,但计算速度较CUnique函数慢一些,大家可以根据具体需要选择使用。


http://www.mrgr.cn/news/64234.html

相关文章:

  • nodejs批量修改word文档目录样式
  • Python 字典
  • 树叶分类竞赛(Baseline)以及kaggle的GPU使用
  • 『 C++ 』vector的常用接口介绍
  • js操作数组的方法 / js操作字符串的方法
  • 【Python】实战:使用input()获取一个字符串,编写并传参,将字符串中所有的小写字母转成大写字母,将大写字母转成小写字母
  • 远程控制时频繁掉线的原因
  • [每周一更]-(第121期):模拟面试|微服务架构面试思路解析
  • 使用 Faster Whisper 和 Gradio 实现实时语音转文字
  • 2024系统架构师---综合题考试真题答案
  • cangjie仓颉程序设计-程序结构(二)
  • 【含文档】基于ssm+jsp的超市订单后台理系统(含源码+数据库+lw)
  • Mac OS 配置Docker+Mysql
  • 2024 Rust现代实用教程 Trait特质
  • Docker:namespace隔离实战
  • 模板注入代码执行漏洞
  • 前端三件套(HTML + CSS + JS)
  • 为什么大家都在学数字孪生呢?
  • Ubuntu删除docker
  • DataFlow v202410 版本更新 一站式数据处理平台
  • WPF中的CommandParameter如何使用
  • 今日 AI 简报|零样本视频生成、移动端轻量语言模型、自动驾驶多模态模型等前沿 AI 技术集中亮相
  • JavaScript本地存储的方式有哪些
  • Linux安装部署MinIO
  • 常见 CSS 选择器用法
  • 七、Go语言快速入门之函数func