vba数组如何精确筛选_Excel VBA 数组知识点,数组能不能用好,就看这个你学会没有...

今天和大家要说的是VBA数组的应用,上篇文章我们说的是数组的基础知识点,有不明白的小伙伴可以点击链接进行知识点回顾Excel VBA 数组基础知识,初学者不可不学的关键知识,今天主要说说数组的几个操作方法,这个是我们以后会经常遇到的,也是经常会使用的方法。

数组的合并和字符串拆分(Join & Split)

在Excel的数据处理时候,我们经常会遇到拆分和合并的操作,可能你在Excel中的基础操作都会,但是我们如果要操作数组呢?数组是在我们内存之中的,我们无法再Excel中可以看到,除非是在本地窗口中可以看到。

一起来看看例子:

拆分字符串 split(字符串,"分隔符")

用分隔连接数组的每个元成一个字符串 join(数组,"分隔符")

ed8b156f01f93b52705e7b95943b8965.png

是不可以看到这2个函数的用法其实很简单,他们的作用是相反的,一个是合并,一个拆分,天下分分合合,就在你和我之间。有么有喜欢上这对冤家?

但是需要注意的一点是,他们都只能操作一维数组,这个是比较限制的。如果们在二维数组时候,想使用个方法,我们应该第一步转化成一维数组,然后在操作即可。

Filter实现数组筛选

其实数组的筛选就是根据我们指定的条件,从数组中筛选出来符合我们指定条件的值,然后在组成一个新的数组。这个操作你肯定不陌生,如下图所示,我们在Excel中的常规操作:

250311989c89e147400487bb93a9bbe7.png

但是今天我们猪脚是在数组中进行帅选,我们用的是Filter函数,用法是:Filter(数组, 筛选的字符, 是否包含)

我们可能只说使用方法,其实你还是不太明白,我们举一个例子,你看了就明白,如需他所示:

3b363ef8e9c12c5e677baacc2b00e528.png

Arr是我们利用常数数组进行赋值的数组,arr1是我们帅选包括字符”A”的新组成的一个数组,arr2,是我们帅选出来不包括“A”的新数组。不知道你发现没有,我们在数组中使用这个函数的时候,只能模糊帅选,并不能精确进行帅选,这个请务必注意一点。

取出数组中的最大值和最小值(Max和Min)

在Excel中我们取出最大值和最小值,我们都是用的MAX和MIN函数,其实这2个在我们的数组中,亦可使用,具体使用方法如下所示:

353f92046ecc6891c0c4458823a8a0b3.png

顺便再说一下,我们也可以取出数组的第几大值和几小值,如下:

b2dda1dbcadfdf2b62278c6ff042af4a.png

这个方法在我们统计数据的时候,经常会用到。

数组求和

在数组中,我们同样可以求和,同样也是借用工作表函数SUM来完成,我们一起看看:

f33f86bf8f7e10e76427f63054583bd7.png

是不是发现,数组怎么这么好用?其实数组操作还不止这些,我们在继续看看:

数组的计数Count和Counta

Count和Counta可以统计数组中数字的个数和数字+文本的个数。如下图所示:

e7c7c21dc9bd3c1ccff39e22e645656f.png

Count和Counta在数组中和Excel中的使用方法是一样的,是通用的。

数组的查询和拆分

假如我们已经有了一个数组,但是我们想查询其中的某一个值,通过帅选只能模糊匹配,那我们有没其他的方法呢?如下:

1b8baddf11cf796cbca25c0cef66aa02.png

数组从二维拆分成一维,你是否还记得我们上篇文章说的?

我们可以借用工作表函数index达到按列拆分数组,即多列构成的数组,你可以任意拆分出一列构成新的数组。方法是:Application.Index(数组, , 列数) :

2eebd387653dace6d828f9fcc978624b.png

数组拆分其实在VBA中间很难操作,有时候我们是借用API函数,或者说这个函数有多少人知道呢?所以我们一般记下index函数拆分数组即可:

数组维数的转换

今天说的最后一个,数组的维数的转变。这个也可借用工作表函数来完成这个,我们一起来看看吧 !

8a3475dd285cf196330ad11494ebde43.png

在转置时只有1列N行的数组才能直接转置成一维数组,这个请注意一下,否则会报错的。

其实我们很多的工作表函数都可以在我们的Excel中进行使用,我们可以自行尝试一下,看看实际的效果。

以上就是我们今天和大家说的代码的中的数组常用技巧,其实VBA代码学习起来非常简单,他就是一个脚本语言的存在,他有自己的条条框框,你按照他的游戏规则来写代码就可以。如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

be4144d3758b2910be529da96e79f10b.png

我是Excel教案,关注我持续分享更多的Excel技巧!

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值