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

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

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

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

        使用方法如下:

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

        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.lryc.cn/news/475146.html

相关文章:

  • 机械革命屏幕设置为RGB
  • 开源项目-投票管理系统
  • LeetCode 104.二叉树的最大深度
  • Android启动流程_Init阶段
  • 萤火虫算法优化BILSTM神经网络多输入回归分析
  • 在线QP(QuotedPrintable)编码解码工具
  • 【已解决】cra 配置路径别名 @ 后,出现 ts 报错:找不到模块“@/App”或其相应的类型声明。ts(2307)
  • leetcode-643. 子数组最大平均数 I
  • 论分布式架构设计及其实现
  • 基于BP神经网络的手写体数字图像识别
  • QT——串口调试助手
  • 国产操作系统卖疯了!最营收7.84亿,最低1.5亿
  • 2024年华为OD机试真题-最小的调整次数-Python-OD统一考试(E卷)
  • React.js教程:从JSX到Redux的全面解析
  • 二叉苹果树
  • 【大数据学习 | kafka】producer的参数与结构
  • 2. 从服务器的主接口入手
  • nginx上传文件超过限制大小、响应超时、反向代理请求超时等问题解决
  • 第16课 核心函数(方法)
  • 【工具变量】中国制造2025试点城市数据集(2000-2023年)
  • vscode makfile编译
  • (四)PostgreSQL数据库操作示例
  • Docker-微服务项目部署
  • 测试Bug提交报告模板
  • MybatisPlus - 核心功能
  • 小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(6)嵌入式系统总线及通信接口
  • 利用字典对归一化后的数据0误差还原
  • HarmonyOS:UIAbility组件概述
  • 12寸半导体厂说的华夫区是什么意思
  • 数据结构之链式结构二叉树的实现(进阶版)