求大侠在百忙中帮我写个:将同时符合c列3个条件的b列数组提取到d列的vba程序,先谢谢了!
1、b5开始的b列各单元格分别填有不同的数组且每2个数字间空1格。
2、c5开始的c列各单元格分别填有不同的条件数据,以等号为界,等号右边数字每2个数字间空1格,等号左边为条件,表示右边的数字包含多少个数据。
如:
1-2=3 8 15 21 23 表示在:3 8 15 2123 这5个数中选择1到2(或1个或2个)个。
0-3=4 12 15 20 33 35 36 表示在:4 12 1520 33 35 36 这7个数中选择0到3(或0或1或2或3个)个。
1-3=1 10 22 25 26 33 表示在:1 10 2225 26 这6个数中选择1到3(或1或2或3个)个。
3、c5开始的c列,每行为一个条件每3行为1组,即c5、c6、c7为第1组,c8、c9、c10为第2组,c11、c12、c13为第3组。。。。。。
4、点击按钮后c5开始的c列各组3个条件依次分别对b5开始的b列各单元格的所有数字进行查找,同时符合各组3个条件的b列数组就被依次提取并依次填写在d5开始的d列各单元格,即点击按钮后首先第1组条件开始查找,第1组条件查找完并提取数字后再接着第2组开始查找,第2组条件查找完并提取数字后再接着第3组开始查找,特别注意的是:第2组条件提取出来的数字接在第1组条件提取出来的数字的后面,依次类推。
如:
c5单元格:1-2=4 916 19 21 23 31
c6单元格:1-2=3 6 711 14 20 36
c7单元格:1-2=2 511 15 19 22 36
为第1组,点击按钮后这组条件就开始对b5开始的b列各单元格的数字查找,那么同时符合这3条件的数组就被提取,经查找b列中下面这3组数据都能同时满足3个条件,因而程序运行后b列中的这3条数组就被依次提取到d5开始的d栏中:
2 20 25 27 31 34 36
7 13 15 20 21 26 30
3 15 18 19 21 27 28
为什么说上面3条能同时满足3个条件呢,以最后一条:3 15 18 19 21 27 28 为例说明:
3 15 18 19 21 27 28 对于第1个条件:1-2=4 916 19 21 23 31,包含的数是:19 21,共2个数而条件是1到2个(1个或2个),符合第1个条件。
3 15 18 19 21 27 28对于第2个条件:1-2=3 6 711 14 20 36,包含的数是:3,共1个数而条件是1到2个(1个或2个),符合第2个条件。
3 15 18 19 21 27 28 对于第3个条件:1-2=2 511 15 19 22 36,包含的数是:15 19,共2个而条件是1到2个(1个或2个),符合第1个条件。那么这一条就同时满足了3个条件,则这一数组符合条件被提取到d5开始的d栏中。
谢谢!
