Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3238|回复: 4

急需在现求助!!!筛选列举产品对应的各类信息..

[复制链接]
发表于 2019-11-13 02:27 | 显示全部楼层 |阅读模式
1学分
本帖最后由 dasly123 于 2019-11-13 02:29 编辑

求助--急11.13.zip (25.24 KB, 下载次数: 12)

发表于 2019-11-13 09:36 | 显示全部楼层
附件里字典都会写,不会写这个筛选?
回复

使用道具 举报

发表于 2019-11-14 09:24 | 显示全部楼层
QQ截图20191114091404.jpg

QQ截图20191114091419.jpg



能否说明一下
比如,产品对应表D3,没看明白7是怎么算出来的?
回复

使用道具 举报

 楼主| 发表于 2019-11-14 09:59 | 显示全部楼层
爱疯 发表于 2019-11-14 09:24
能否说明一下
比如,产品对应表D3,没看明白7是怎么算出来的?

敲错了 应该是数字5才对
回复

使用道具 举报

发表于 2019-11-14 10:30 | 显示全部楼层
Dim d


Sub test()
    Dim A, i, j
    Call test2
    Sheets(1).Select
    A = Range("a1").CurrentRegion

    '填补合并单元格的空白
    For j = 3 To UBound(A, 2)
        If A(1, j) = "" Then A(1, j) = A(1, j - 1)
    Next j

    '查询
    For i = 3 To UBound(A)
        If A(i, 2) <> "" Then
            '读字典
            For j = 3 To UBound(A, 2)
                If d.exists(A(1, j)) Then
                    If d(A(1, j)).exists(A(2, j)) Then
                        If d(A(1, j))(A(2, j)).exists(A(i, 2)) Then
                            A(i, j) = d(A(1, j))(A(2, j))(A(i, 2))
                        End If
                    End If
                End If
            Next j

            '求总共
            For j = 3 To UBound(A, 2) Step 4
                A(i, j) = A(i, j + 1) + A(i, j + 2) + A(i, j + 3)
            Next j
        End If
    Next i

    [a1].Resize(UBound(A), UBound(A, 2)) = A
End Sub


'写字典
Sub test2()
    Dim A, i, j
    Sheets(3).Select
    A = Range("a1").CurrentRegion
    Set d = CreateObject("scripting.dictionary")

    For i = 2 To UBound(A)
        A(i, 2) = Right(A(i, 2), 3)
        If Not d.exists(A(i, 2)) Then Set d(A(i, 2)) = CreateObject("scripting.dictionary")    'B列
        If Not d(A(i, 2)).exists(A(i, 3)) Then Set d(A(i, 2))(A(i, 3)) = CreateObject("scripting.dictionary")    'C列
        For j = 5 To UBound(A, 2)
            If A(i, j) <> "" Then d(A(i, 2))(A(i, 3))(A(i, j)) = A(i, 4)                'E:J列
        Next j
    Next i

End Sub




1.rar (32.73 KB, 下载次数: 8)

评分

参与人数 1学分 +2 收起 理由
cutecpu + 2 板大真的很熱心,給個讚!

查看全部评分

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 06:47 , Processed in 0.465660 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表