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函数慢一些,大家可以根据具体需要选择使用。
相关文章:
Excel函数CUnique连接合并指定区域的唯一值
上一篇文章向大家介绍了如何使用VBA在低版本Excel中创建unique函数的方法,今天我跟大家分享一下如何使用函数连接指定区域的唯一值,也就是将unique函数获取的唯一值连接合并成一个,并指定连接符。 同样,我们需要先创建一个自定义的…...
机械革命屏幕设置为RGB
机械革命屏幕设置为RGB 如何设为机械革命屏幕显示为RGB如何设置1.win菜单下输入“显卡控制中心”2.选择显示器3.设置为RGB4.饱和度大家设为自己舒服的就行5.调整亮度 参考来源 如何设为机械革命屏幕显示为RGB 之前买的显示器,感觉调成sRGB看起来非常舒服。就想着是…...
开源项目-投票管理系统
哈喽,大家好,今天主要给大家带来一个开源项目-投票管理系统 投票管理系统主要有首页,发起投票,管理投票,参与投票,查看投票等功能 首页 为用户提供了一键导航到各个功能模块的便捷途径。 新增投票 用户可以在此轻松创建新的投票活动,设置投票主题、选项等信息。 管理…...
LeetCode 104.二叉树的最大深度
题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3 示例 2: 输入:root [1…...
Android启动流程_Init阶段
前言 本文将会介绍 Android 启动流程,将基于 Android 10 代码逻辑介绍原生启动过程。 bootloader 上电 -> 加载 recovery 镜像或者 boot 镜像 -> linux kernel 启动 -> 加载 init 进程 -> 加载 zygote 进程 -> systemserver 进程 -> 系统启动 …...
萤火虫算法优化BILSTM神经网络多输入回归分析
目录 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 代码 结果分析 展望 完整代码下载:的MATALB代码(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88755564 背影 bp神经网络是一种成熟的神经网络,应用非常广,本文用萤火虫算法…...
在线QP(QuotedPrintable)编码解码工具
具体前往:Quoted-printable在线编码解码工具-将给定文本编码为:可打印字符引用编码(简称:QP编码),也支持在线解码...
【已解决】cra 配置路径别名 @ 后,出现 ts 报错:找不到模块“@/App”或其相应的类型声明。ts(2307)
cra 配置路径别名 后,出现 ts 报错:找不到模块“/App”或其相应的类型声明。ts(2307) 然后可以在 tsconfig.json 中配置 baseUrl 和 paths : {"compilerOptions": {"target": "es5","lib": [&quo…...
leetcode-643. 子数组最大平均数 I
文章目录 二 解法2.1 每次都重新计算2.2 使用窗口 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。任何误差小于 10-5 的答案都将被视为正确答案。二 解法 2.1 每次都重新计算 超时 pu…...
论分布式架构设计及其实现
一、引言 随着互联网用户规模的扩大和需求的多样化,传统的集中式架构已经难以支撑高并发、高可用的系统要求。分布式架构的出现,提供了将计算和存储分布到不同服务器上的解决方案,有效提高了系统的可扩展性和容灾能力。分布式架构目前已广泛…...
基于BP神经网络的手写体数字图像识别
基于BP神经网络的手写体数字图像识别 摘要 在信息化飞速发展的时代,光学字符识别是一个重要的信息录入与信息转化的手段,其中手写体数字的识别有着广泛地应用,如:邮政编码、统计报表、银行票据等等,因其广泛地应用范围…...
QT——串口调试助手
目录 1.QSerialPort类包含了很多有关串口的API 2.实现串口的打开 2.1 方法一:通过函数实现 2.2 方法二:在ui界面右下角实现 3. 实现定时发送 3.1类的私有成员中添加定时器QTimer timer并去构造函数中初始化它 3.2帮助文档中有QTimer类相关的说明 …...
国产操作系统卖疯了!最营收7.84亿,最低1.5亿
最近看各种报道,似乎国产化有提速的绩效,那么既然如此,各个国产操作系统厂商是不是都起飞了呢? 周末闲暇之余,我们来看看各家的营收表现。 银河麒麟2024年1-9月一共卖了多少钱? 前几天中国软件发布了202…...
2024年华为OD机试真题-最小的调整次数-Python-OD统一考试(E卷)
最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述: 有一个特异性的…...
React.js教程:从JSX到Redux的全面解析
文章目录 介绍react脚手架jsx语法和react组件jsx的基本语法jsx的行内样式jsx的类名classNameif条件渲染map循环渲染创建组件方法 可视区渲染 (React- virtualized)React-redux 介绍 javascript库,起源于Facebook的内部项目,类似于vue特点 声明式组件化 …...
二叉苹果树
AcWing 1074. 二叉苹果树【有依赖背包DP】 - AcWing 问题描述 在一棵有权无向树中,从某个节点(这里假设为节点 1)出发,遍历树的子节点,每经过一条边会获得对应的权重值。在访问节点数的限制下(即体积限制…...
【大数据学习 | kafka】producer的参数与结构
1. producer的结构 producer:生产者 它由三个部分组成 interceptor:拦截器,能拦截到数据,处理完毕以后发送给下游,它和过滤器不同并不是丢弃数据,而是将数据处理完毕再次发送出去,这个默认是不…...
2. 从服务器的主接口入手
Webserver 的主函数 main.cpp,完成了哪些功能? #include "config.h"int main(int argc, char *argv[]) {string user "";string passwd "";string databasename "";Config config;config.parse_arg(argc, a…...
nginx上传文件超过限制大小、响应超时、反向代理请求超时等问题解决
1、文件大小超过限制 相关配置: client_max_body_size: Syntax:client_max_body_size size;Default:client_max_body_size 1m;Context:http, server, location 2、连接超时: proxy_read_timeout: Syntax:proxy_read_timeout time;Default…...
第16课 核心函数(方法)
掌握常用的内置函数及其用法。 数学类函数:abs、divmod、max、min、pow、round、sum。 类型转换函数:bool、int、float、str、ord、chr、bin、hex、tuple、list、dict、set、enumerate、range、object。 序列操作函数:all、any、filter、m…...
SMARC嵌入式模块规范解析:从标准化接口到硬件设计实战
1. 项目概述:从“黑盒子”到标准化接口的进化在嵌入式系统开发领域,尤其是工业控制、边缘计算和物联网设备中,我们经常会遇到一个核心矛盾:如何平衡设计的灵活性与开发效率?早些年,很多项目都是从零开始&am…...
GCC __builtin函数避坑指南:让你的跨平台C代码在ARM和x86上都跑得稳
GCC __builtin函数跨平台避坑实战:ARM与x86兼容性深度解析 在嵌入式开发与高性能计算领域,GCC编译器的__builtin函数集一直是开发者提升性能的利器。但当代码需要同时运行在ARM架构的嵌入式设备和x86架构的服务器上时,这些看似美妙的"魔…...
小米Tag防丢器深度解析:BLE与UWB双技术路径如何重塑寻物体验
1. 项目概述:小米入局,防丢市场迎来“鲶鱼”在智能硬件领域,防丢追踪器一直是个不温不火但又刚需明确的存在。苹果的AirTag凭借其庞大的Find My网络,几乎定义了行业标准,但也因其生态封闭性,让安卓用户望而…...
钉钉机器人消息解析器:基于JSON Path与模板的自动化数据提取方案
1. 项目概述:一个钉钉消息解析器的诞生最近在做一个内部自动化工具时,遇到了一个挺有意思的需求:需要把钉钉机器人推送过来的消息,从原始的、结构复杂的JSON格式里,精准地“抠”出我们关心的业务数据。比如,…...
如何快速掌握PyInstaller Extractor:5步提取可执行文件的完整指南
如何快速掌握PyInstaller Extractor:5步提取可执行文件的完整指南 【免费下载链接】pyinstxtractor PyInstaller Extractor 项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor PyInstaller Extractor是一款专为提取PyInstaller生成的可执行文件内…...
Python开发被内网卡脖子?5分钟用Docker搭个Pypiserver救急(含避坑指南)
Python内网开发救星:Docker化Pypiserver极速搭建指南 当你在客户现场调试代码时,突然发现内网环境无法连接PyPI官方源;当你在保密项目部署时,发现所有外网访问都被严格限制——这种"被卡脖子"的困境,相信不少…...
从零开始将个人小项目的大模型API切换至Taotoken的过程与感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从零开始将个人小项目的大模型API切换至Taotoken的过程与感受 1. 迁移前的项目状态与动机 我维护着一个用于内容摘要和分类的个人…...
array_partition 怎么解决 Bank 冲突
1. complete 完全分区 把数组彻底打散,每个元素独立寄存器,不再占用 BRAM、无 Bank 概念,彻底消除冲突。 适合:小数组、高并行、要求 II1。 2. block 块分区 把数组平均切成若干大块,每块映射到独立 Bank,跨…...
【GitHub宝藏框架】跨平台桌面开发利器:PinnacleQt与PySide6/PyQt6实战解析
1. 为什么PinnacleQt是Python开发者的跨平台利器 第一次接触PinnacleQt是在去年开发一个医疗数据可视化工具时。当时需要在Windows和macOS上部署相同的界面,试过Electron、Flutter等方案后,最终被这个基于Qt的框架惊艳到了。它完美解决了我在Python生态中…...
Claude Code、Cursor、GitHub Copilot、Codex 怎么选?别再按“哪个最强”来判断了
AI 编程工具越来越像“工具箱”,而不是单个聊天窗口。如果你还在问“Claude Code、Cursor、Copilot、Codex 哪个最强”,这个问题本身就有点偏。更好的判断方式是:你当前的任务发生在哪里、需要改多少文件、是否需要跑测试、结果要不要进入 PR…...
