楼主: lyglt
1786 10

[统计软件与数据分析] excel数据筛选 [推广有奖]

  • 0关注
  • 1粉丝

本科生

55%

还不是VIP/贵宾

-

威望
0
论坛币
1884 个
通用积分
1.2000
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
191 点
帖子
11
精华
0
在线时间
186 小时
注册时间
2013-9-24
最后登录
2020-4-6

楼主
lyglt 发表于 2016-4-2 17:37:04 来自手机 |只看作者 |坛友微信交流群|倒序 |AI写论文
5论坛币
如果想对一组数据进行筛选,需要同时对两列进行操作。当ai与aj(j=i+1)数值相等,且bi=bj也相等时,将i行和j行输出到sheet2中。这个编程应该怎么编,请给出完整程序。

关键词:Excel数据筛选 excel数据 EXCEL 数据筛选 exce excel 程序
沙发
Lily_橙 学生认证  发表于 2016-4-2 19:34:03 |只看作者 |坛友微信交流群
可以用IF 函数,然后拖拉,不过比较麻烦

使用道具

藤椅
nightwalking 发表于 2016-4-2 21:59:53 |只看作者 |坛友微信交流群
Sub filter()
    Dim m& '    找到的数据组数
    Dim nj% '   数据列数
    Dim i& '    行循环
    Dim j& '    行+1
    Dim k& '    列循环
    ni = 9 '    数据总行数-------输入
    nj = 8 '    数据总列数-------输入
   
    m = 0
    For i = 1 To ni
        j = i + 1
        If Sheet1.Cells(i, 1) = Sheet1.Cells(j, 1) And Sheet1.Cells(i, 2) = Sheet1.Cells(j, 2) Then
            m = m + 1
            For k = 1 To nj
                Sheet2.Cells(2 * m - 1, k) = Sheet1.Cells(i, k)
                Sheet2.Cells(2 * m, k) = Sheet1.Cells(j, k)
            Next k
        End If
    Next i
End Sub
已有 1 人评分经验 收起 理由
giresse + 60 热心帮助其他会员

总评分: 经验 + 60   查看全部评分

使用道具

板凳
lyglt 发表于 2016-4-3 07:09:02 |只看作者 |坛友微信交流群
nightwalking 发表于 2016-4-2 21:59
Sub filter()
    Dim m& '    找到的数据组数
    Dim nj% '   数据列数
试过了,没用,sheet3一片空白。

使用道具

报纸
yishengyounitlg 学生认证  发表于 2016-4-3 17:06:05 |只看作者 |坛友微信交流群
可以用一个函数搞定,例如在EXCEL中有A、B两列数据,如下所示:
A      B
1        5
2        6
2        6
4        8
5        9
5        9
7        11
8        12
9        13
10        14
11        15
11        16
13        17
14        18
16        19
16        19
17        21
18        22
19        23
在第三列中输入公式:=IF(($A1=$A2)*($B1=$B2),1,0)  这是第三列第一行数函数,向下填充所有即可
A      B      C
1        5        0
2        6        1
2        6        0
4        8        0
5        9        1
5        9        0
7        11        0
8        12        0
9        13        0
10        14        0
11        15        0
11        16        0
13        17        0
14        18        0
16        19        1
16        19        0
17        21        0
18        22        0
19        23        0
第三列会出现1和0两个值,1表示这一行是我们想要的数据,此时第三列仍是公式,复制第三列,选择性粘贴,选择粘贴值到第四列
A      B      C      D
1        5        0        0
2        6        1        1
2        6        0        0
4        8        0        0
5        9        1        1
5        9        0        0
7        11        0        0
8        12        0        0
9        13        0        0
10        14        0        0
11        15        0        0
11        16        0        0
13        17        0        0
14        18        0        0
16        19        1        1
16        19        0        0
17        21        0        0
18        22        0        0
19        23        0        0
此时虽然第三列和第四列显示的值一样,但是第四列是数值,第三列是公式
以四列为基础进行降序排序
A      B      C       D
2        6        0        1
5        9        0        1
16        19        0        1
1        5        0        0
2        6        0        0
4        8        0        0
5        9        0        0
7        11        0        0
8        12        0        0
9        13        0        0
10        14        0        0
11        15        0        0
11        16        0        0
13        17        0        0
14        18        0        0
16        19        0        0
17        21        0        0
18        22        0        0
19        23        0        0
此时第四列显示为1的就是我们需要的最终数据。

使用道具

地板
yishengyounitlg 学生认证  发表于 2016-4-3 17:10:18 |只看作者 |坛友微信交流群
上面公式没有显示完全,完整为 image001.png

使用道具

7
chinafigo1989 发表于 2016-4-4 01:06:14 |只看作者 |坛友微信交流群
楼上几位回答很完整了

使用道具

8
nightwalking 发表于 2016-4-4 14:28:31 |只看作者 |坛友微信交流群
lyglt 发表于 2016-4-3 07:09
试过了,没用,sheet3一片空白。
搜狗截图20160404142453.png
你写的是要输出到sheet2中啊。如果想输出到sheet3,把代码中sheet2替换成sheet3就可以了

使用道具

9
nightwalking 发表于 2016-4-4 14:48:51 |只看作者 |坛友微信交流群
这里面有个问题,对于连续重复数据你要怎么输出?
比如有以下数据
1 5 7
2 9 3
2 9 3
2 9 3
6 6 5
你是想要输出成
2 9 3
2 9 3
2 9 3
还是
2 9 3
2 9 3
2 9 3
2 9 3

我写的那段宏代码是按第二种情况输出

使用道具

10
wjt5337358 发表于 2016-4-4 17:09:50 |只看作者 |坛友微信交流群
在第三列加入公式:=if(ai=aj,if(bi=bj,ai,“”),“”)用着筛选出有用的东西,然后粘贴到sheet2。不懂加qq543724168

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-8 04:59