vba 提取 json某个值_Excel中提取不重复值的方法汇总(5种基础+VBA+1个自定义函数)...

各位朋友,你们好,

今天和你们分享Excel中提取不重复值的几种方法,着重介绍【5种】基础操作方法另外附送一个VBA去重代码,拿去就可以直接使用。


一、基础操作方法

1、数据工具直接去重(见下图)

a70e46dbaef9b4c4c27ce75e3a2ceab3.gif

数据工具去重

2、高级筛选(见下图)

d19b4cf839f38a1fbd1633b399caa8b8.gif

高级筛选去重

3、数据透视表(见下图)

659d02a6ba32f526611fad3f0d02711d.gif

数据透视表方法去重

4、条件格式(见下图)

093b69782e910ff2bb1bc300ac69ed24.gif

条件格式去重

注:

①条件格式去重的公式:=AND($A1<>"",COUNTIF($A$1:$A1,$A1)>1)

②设置的单元格格式为【;;;】,这个表示什么意思,可以查看我之前的文章;

③这种方式,并不是真正意义的去重,只是将重复的内容不显示出来;

点击链接,带你认识【;;;】

5、使用数据表的设计模式(见下图)

f870a92efebe757ae0b40fbef6db6852.gif

数据表的设计模式数据去重


二、VBA方法(下面的代码可直接拿去用)

763dcf985f5e8dbeeb598587768cfbb2.gif

VBA去重

VBA去重,最常用的方法就是数组+字典,本例使用的代码如下:

Sub 数据去重()    Dim Arr, Brr, a%, b%, Str1, Str2    Dim Dic As Object    Set Dic = CreateObject("scripting.dictionary")    Set Str1 = Application.InputBox("请选择要去重的数据区域", "选择数据", , , , , , 8)    Arr = Range(Str1.Address)    If Not IsArray(Arr) Then Exit Sub  '如果不存在数据源选项,则arr非数组,那么退出程序    For a = 1 To UBound(Arr, 1)          For b = 1 To UBound(Arr, 2)                If Arr(a, b) <> "" Then Dic(Arr(a, b)) = "" '单元格非空,则装入字典         Next    Next    Brr = Dic.keys    Set Str2 = Application.InputBox("请确定数据存放的单元格", "选择数据存放的单元格", , , , , , 8)    Range(Str2.Address).Resize(Dic.Count, 1) = Application.Transpose(Brr)    Set Dic = Nothing  '释放字典内存End Sub

此代码做了灵活设置处理,支持自己选择区域,而并非只能对固定区域内容去重,有需要的朋友可以直接拿去使用。


三、函数公式去重

1、公式组合套路

用公式对数据去重,效率不是很高,且遇到数据量很大的时候,文件的运行会卡顿。但是既然说到去重,还是应该介绍下公式去重的套路(效果见下图)。

9ca6a58d32ab0caf54c7c05906bcfe88.png

公式去重

下面是去重公式的套路组合,拿去就可以直接套用:

=INDIRECT("A"&SMALL(IF(MATCH(数据区域,数据区域,)=ROW($1:$16),ROW($1:$16),4^6),ROW(A1)))&""

套路解析:

①【A】表示数据所在的列;

②【数据区域】:需要去重的数据,需要绝对引用;

③【ROW($1:$16)】:这里的16表示数据区域的高度,要根据实际情况调整;

④公式是数组公式,需要按组合键【Ctrl+Shift+Enter】结束。

当然,此处也可以用OFFSET函数或者INDEX函数,根据自己的情况合理选择即可。

2、高版本专有函数

如果你是Office 365的用户,还有一个更方便的函数【UNIQUE 函数

1afa61b420a0c942d1d87c1ac8f53e86.png

UNIQUE 函数去重

3、自定义函数

如果是低版本的用户,不想用复杂的套路组合,又要实现不重复数据的实时更新,就只能使用自定义函数了。效果见下图:

1a681f497f6c81ef4b01d3ac0f7c59cf.gif

自定义函数去重

自定义函数的代码如下:

Function QuChong(Rng As Range, Optional i As Integer, Optional Str As String = ",")'函数作用:去除重复项'函数名:QuChong。此函数有三个参数:Rng、i、Str'Rng:需要去重的数据区域'i(可忽略):去重选项,如果i=0,则去重后合并;如果i>0,则依次提取出内容'Str(可忽略):用于当i=0时,合并用的连接符。Dim Arr,Brr, a%, b%Dim DicSet Dic = CreateObject("scripting.dictionary")If Rng.Count = 0 Then QuChong = ""Arr = RngFor a = 1 To UBound(Arr, 1)      For b = 1 To UBound(Arr, 2)            If Arr(a, b) <> "" Then               Dic(Arr(a, b)) = "" '单元格非空,则装入字典            End If      NextNextBrr = Dic.keysIf i = 0 Then   QuChong = VBA.Join(Dic.keys, Str)ElseIf i > 0 Then   If i <= Dic.Count Then      QuChong = Brr(i - 1)   Else      QuChong = ""   End IfElse   QuChong = "参数错误"End IfEnd Function

函数作用:去除重复项;

函数名:QuChong。此函数有三个参数:Rng、i、Str;

Rng:需要去重的数据区域;

i(可忽略,忽略是默认为0):去重选项,如果i=0,则去重后合并;如果i>0,则依次提取出不重复内容;

Str(可忽略,忽略时默认为逗号):用于当i=0时,合并用的连接符。


我是上班下班,因为爱好办公软件、喜欢分享。所以来到这里将我的学习心得和踩过的一些坑,和大家聊聊,希望大家学习我成功的经验,避开我踩过的坑。我和你们一起进步。

好了,今天就聊到这里,感谢各位朋友的关注和支持。

如果你喜欢我分享的内容,请点个赞支持下;

如果你觉得我分享的内容对你有帮助,可以关注我;

如果要看我以前分享过的好玩的内容,大家可以去我的主页查看历史文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql distinct 条件,多行条件下的mysql distinct列

我有一个mysql数据库(item_preset)与下表&#xff1a;--------------------------------| id | preset_id | item_id | value |--------------------------------| 1 | 1 | 1 | 2 || 2 | 1 | 2 | 1 || 3 | 1 | 4 | 60 || 4 | 1 | 3 | 16 || 5 | 1 | 3 | 17 || 6 | 1 | 3 | 18 |…

python time 语句_python的time模块总结

python的time模块与random模块目录time模块time模块三种时间表示在Python中&#xff0c;通常有这几种方式来表示时间&#xff1a;时间戳(timestamp) &#xff1a; 通常来说&#xff0c;时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())…

mysql maxconnections 最大值,MySQL性能优化之max_connections配置参数浅析

MySQL的max_connections参数用来设置最大连接(用户)数。每个连接MySQL的用户均算作一个连接&#xff0c;max_connections的默认值为100。本文将讲解此参数的详细作用与性能影响。与max_connections有关的特性MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接&#xff0c;…

tomcat temp 大量 upload 文件_原创 | 浅谈URI中的任意文件下载

点击上方蓝字 关注我吧引言文件下载是比较常见的业务。常见的接口格式为/download?fileNamexxx.png,整个过程若没过滤目录穿越符号…/或者未对下载的路径进行处理限制。当传入的filename参数为../../etc/passwd即可穿越路径达到任意文件下载的效果。有些接口在尝试获取某一文件…

mysql编写函数 求1 n 偶数之和,编写求1 2 3 - n的函数.在main函数中调用该函数

输入两个正整数m,n,编写求阶乘的函数,计算m!/(n!*(m-n)!). C语言函数解答,谢谢.#includelongfactorial(intm,intn){longsum1,sum11;inti;if(m-n>n){for(im;i>m-n;i--)sum*i;for编写函数fun求1!2!3! …… n!的和,在main函中由键盘输入n值,并输出运算结果#includeintfun(in…

python range在for循环里的用法_PyThon range()函数中for循环用法

最初range和xrange都生成可以用for循环迭代的数字&#xff0c;然而在python2和3里实现方式并不完全一致&#xff0c;下面着重讲讲python3的range()函数for循环用法。1、函数语法range(start, stop, [step])2、参数说明start: 可选参数&#xff0c;计数从 start 开始。默认是从 …

matlab实现图像放大两倍,matlab图像处理基础知识0(双线性插值matlab实现--调整水平和垂直放大倍数)...

需求说明&#xff1a;图像处理FPGA实现前期算法准备当前算法&#xff1a;已通过matlab验证成功function scaler_bilinear()%-----------------------------0:配置输入输出--------------------------------m2; %放大或缩小的高度n2; %放大或缩小的宽度Iimread(F:ookDigital ima…

win10虚拟内存怎么设置最好_淘宝直通车时间段怎么设置?哪个时间段开最好?...

大家好&#xff0c;我是西瓜电商培训的子木。淘宝直通车一直都是商家们最受关注的一款推广工具&#xff0c;开过直通车的商家应该都知道在开直通车的时候是可以通过自己设定时间和金额的&#xff0c;所以很多商家可能会根据每天店铺的流量时间段来分析开车投入&#xff0c;商家…

php小于neq qe,PHP模板判断语句eq相等 ne、neq不相等, gt大于, lt小于

eq相等 ne、neq不相等&#xff0c; gt大于&#xff0c; lt小于 gte、ge大于等于 lte、le 小于等于 not非 mod求模 is [not] div by是否能被某数整除 is [not] even是否为偶数 is [not] even by $b即($a / $b) % 2 0 is [not] odd是否为奇 is not odd by $…

笔记本屏幕出现横条纹_笔记本支架+拓展坞+立式无线充:给你的桌面一个简单的品质升级...

一、写在前面如果每个女孩都想拥有一个自己的衣帽间的话&#xff0c;每个喜欢科技的男孩&#xff0c;都想拥有一个属于自己的书房或者说游戏间&#xff0c;而这其中书桌是陪伴我们最多的地方&#xff0c;怎么打造一个舒适好用的桌面&#xff0c;让桌面简单而有品质呢&#xff0…

excel 公式 单引号 concat_从Excel的数据类型说Python

转自&#xff1a;可乐的数据分析之路写在前面这节内容是python基础知识中的数据类型和运算符&#xff0c;可以回顾一下前两篇文章来复习一下&#xff1a;利用Excel学习Python&#xff1a;变量利用Excel学习Python&#xff1a;准备篇本来想分开写的&#xff0c;但发现好像分不开…

matlab slider不可移动,GUI界面能运行,但是_slider不能用,不能控制波长

下面是GUI的程序&#xff0c;在c的地方设置的是可见光的波长&#xff0c;但是lamda_slider不能进行控制&#xff0c;默认波长600e-9&#xff0c;运行后只有c [0 0 0;1 0 0]求解function varargout untitled(varargin)%UNTITLED M-file for untitled.fig% UNTITLED, by i…

xx是一个类型 这在给定的上下文_BERT, ELMo, amp; GPT-2: 这些上下文相关的表示到底有多上下文化?...

作者&#xff1a;Kawin Ethayarajh编译&#xff1a;ronghuaiyang &#xff08;AI公园&#xff09;具有上下文信息的词表示到底有多大程度的上下文化&#xff1f;这里给出了定量的分析。将上下文信息放到词嵌入中 — 就像BERT&#xff0c;ELMo和GPT-2 — 已经证明了是NLP的一个分…

不是有效的win32应用程序_杀毒软件有坑!三分之二的安卓杀毒软件的“主业”并不是杀毒...

更多全球网络安全资讯尽在E安全官网www.easyaq.com小编来报&#xff1a;奥地利杀毒测试机构AV-Comparatives研究发现&#xff0c;大约三分之二的安卓杀毒软件并没有合格的杀毒功能&#xff0c;它们都是披着羊皮的狼&#xff01;据外媒报道&#xff0c;奥地利杀毒测试机构AV-Com…

java字符串除法函数,java – 函数式编程:如何处理函数式编程中的异常或它的等价物...

以下显示了如何在Haskell中完成它.基于类型siginure divide :: Int – > Int – >无论[Char] Int,您都可以看到函数除法将返回Left字符串或Right Int.要么是代数数据结构,还有更多,你可以自己编写.divide :: Int -> Int -> Either [Char] Intdivide dividend divis…

phpfpm内存越来越高_硬件集成度越来越高 未来DIY玩法方向已定?

【PConline 杂谈】前一阵子&#xff0c;英特尔发布了他们家的黑科技处理器&#xff0c;代号为Lakefield。能称得上黑科技那肯定是有点东西的&#xff0c;这款处理器采用了3D封装工艺&#xff0c;将内存颗粒也封装进处理器里面。这样的话处理器、内存和显卡这些大件都集成在一块…

苹果6可以分屏吗_榨苹果汁可以加蜂蜜水吗?蜂蜜苹果汁的作用

榨苹果汁可以加蜂蜜水吗?蜂蜜苹果汁的功效鲜榨果汁是很多人都喜欢的饮品&#xff0c;现在生活水平都比较好了&#xff0c;大家也可以在家中自己榨果汁喝&#xff0c;苹果汁是很多人的第一选择&#xff0c;那榨苹果汁可以加蜂蜜水吗?榨苹果汁可以加蜂蜜水&#xff0c;苹果营养…

mysql5.5索引,MySQL--5索引选择原则

大家好我是安小生&#xff0c;这篇文章讲述索引的选择原则。1.explain分析语句。explain&#xff1a;通常是用于sql语句性能分析。举个栗子&#xff1a;explain select * from user where name "张三"我们来看一下explain 查询出来的字段都是什么&#xff1f;id:sel…

winform 鼠标 静止时间_赢得电竞的奥秘,你需要一块好鼠标垫

如今&#xff0c;电竞游戏成为很多PC用户喜爱的娱乐“运动”&#xff0c;这使得相关PC电竞外设流行起来&#xff0c;耳机、音箱、鼠标、鼠标垫都成为电竞用户追求的产品。然而对于职业选手、电竞玩家而言&#xff0c;除了一款性能出色的鼠标外&#xff0c;搭配一款合适的鼠标垫…

IAR在写结构体时不提示_智能物流装车系统的结构优化与改进

文&#xff5c;滇西应用技术大学管理学院鄢良国、姚敏、孙荷琴、杨晓滇西应用技术大学基础实验实训中心朱丹智能物流装车系统主要用于烟草生产基地和物流配送中心之间往返运输的自动化装车业务中。本文针对智能物流装车系统会损坏外层箱体的现象&#xff0c;对结构进行了具体分…