Excel精英培训网

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

条件查找

[复制链接]
发表于 2011-10-10 17:23 | 显示全部楼层 |阅读模式
各位大虾,附件文件查询中作溥中想根据输入的条件查找出所要的数据,数据在数据浦表中。
以上,谢谢!
工作簿1.rar (4.24 KB, 下载次数: 41)
 楼主| 发表于 2011-10-10 17:47 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-10-11 09:25 | 显示全部楼层
回复

使用道具 举报

发表于 2011-10-11 09:27 | 显示全部楼层
顶一下吧。
回复

使用道具 举报

发表于 2011-10-11 10:56 | 显示全部楼层
给你一个我写的通用查询模块:
就象SQL一样,在EXCEL中执行,肯定比SQL要快啦。

Function FiltData(Arr, FiltArr)
  'filtarr,列号,筛选条件,例  2,50,">=",3,"abc","like"
  '当有符合条件的,返回已经转置后的数组,无符合的,返回空值
  Dim Bln As Boolean
  Dim i&
  Dim j%
  Dim n%
  Dim ArrRst(), K&
  Dim MyRst()
  Dim Tmp, Comp$, Col&
  
  For i = 1 To UBound(Arr)
     Bln = True
     For n = 1 To UBound(FiltArr) Step 3
         
         Col = FiltArr(n)
         Tmp = FiltArr(n + 1)
         Comp = FiltArr(n + 2)
         Select Case Comp
            Case "like"
                If Not LCase(Arr(i, Col)) Like "*" & LCase(Tmp) & "*" Then Bln = False: GoTo CompEnd
            Case "="
                If Not Arr(i, Col) = Tmp Then Bln = False: GoTo CompEnd
            Case ">="
                If Not Arr(i, Col) >= Tmp Then Bln = False: GoTo CompEnd
            Case "<="
                If Not Arr(i, Col) <= Tmp Then Bln = False: GoTo CompEnd
            Case ">"
                If Not Arr(i, Col) > Tmp Then Bln = False: GoTo CompEnd
            Case "<"
                If Not Arr(i, Col) < Tmp Then Bln = False: GoTo CompEnd
         End Select
     Next n
CompEnd:
     If Bln Then
        K = K + 1
        ReDim Preserve ArrRst(1 To UBound(Arr, 2), 1 To K)
        For j = 1 To UBound(Arr, 2)
          ArrRst(j, K) = Arr(i, j)
        Next j
     End If
  Next i
  
  If K > 0 Then '进行转置
     ReDim MyRst(1 To UBound(ArrRst, 2), 1 To UBound(ArrRst))
     For i = 1 To UBound(ArrRst, 2)
        For j = 1 To UBound(ArrRst)
           MyRst(i, j) = ArrRst(j, i)
        Next j
     Next i
     FiltData = MyRst
     
  End If
End Function
回复

使用道具 举报

发表于 2011-10-11 10:57 | 显示全部楼层
条件是什么?哪个单元格里的是条件?
回复

使用道具 举报

 楼主| 发表于 2011-10-11 11:08 | 显示全部楼层
回复 兰色幻想 的帖子

条件是白色区域
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-1 07:33 , Processed in 0.319805 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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