全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅
2061 10
2016-04-02
悬赏 5 个论坛币 未解决
如果想对一组数据进行筛选,需要同时对两列进行操作。当ai与aj(j=i+1)数值相等,且bi=bj也相等时,将i行和j行输出到sheet2中。这个编程应该怎么编,请给出完整程序。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-2 19:34:03
可以用IF 函数,然后拖拉,不过比较麻烦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-3 07:09:02
nightwalking 发表于 2016-4-2 21:59
Sub filter()
    Dim m& '    找到的数据组数
    Dim nj% '   数据列数
试过了,没用,sheet3一片空白。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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的就是我们需要的最终数据。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-3 17:10:18
上面公式没有显示完全,完整为 image001.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群