多条件选择性查询数据
来源:百度文库 编辑:神马文学网 时间:2024/04/27 15:41:21
根据输入的查询条件,请高人用函数或VBA实现查找数据功能。
1查询数据---记录日期:根据查询条件中的产品名称,不良项目以及开始日期和结束日期查找《数据表》中的符合条件的记录日期。超出查找日期范围的不记录或空白显示。
2查询数据---不良数量:搜索《数据表》中同时满足查询条件的合计不良数量.
如果查询条件中只选产品名称未选不良项目时,统计这个产品的所有不良项目的合计不良数;如果查询条件中只选不良项目未选产品名称时,统计所有产品的查询的不良项目的合计不良数;
3查询数据---投入数量,同不良数量对应关系
如果查询条件中只选产品名称未选不良项目时,统计这个产品的所有不良项目的合计投入数;如果查询条件中只选不良项目未选产品名称时,统计所有产品的查询的不良项目的合计投入数;
Sub Macro2()
Dim c As Range, Mydate1 As Date, Mydate2 As Date, arr, brr(), x As WorksheetFunction
Dim i As Long, r1 As Long, r2 As Long, m As Integer
Set x = WorksheetFunction
Mydate1 = [d2]
Mydate2 = [j2]
Set d = CreateObject("Scripting.Dictionary")
With Sheets("数据")
arr = .Range("B3:g" & .Range("B65536").End(xlUp).Row)
For i = 1 To UBound(arr)
If arr(i, 1) >= Mydate1 Then
r1 = i
Exit For
End If
Next
For i = 1 To UBound(arr)
If arr(i, 1) > Mydate2 Then
r2 = i - 1
Exit For
End If
Next
If r1 >= 0 And r2 >= r1 Then
For i = r1 To r2
If Not d.exists(arr(i, 1)) Then
m = m + 1
d(arr(i, 1)) = m
ReDim Preserve brr(1 To 3, 1 To m)
brr(1, m) = x.Sum(.Cells(i + 2, 8).Resize(1, 17)) '不良h列从到x列
brr(2, m) = arr(i, 6)
Else
brr(1, d(arr(i, 1))) = brr(1, d(arr(i, 1))) + x.Sum(.Cells(i + 2, 8).Resize(1, 17)) '不良h列从到x列
brr(2, d(arr(i, 1))) = brr(2, d(arr(i, 1))) + arr(i, 6)
End If
Next
For i = 1 To m
If brr(2, i) > 0 Then brr(3, i) = brr(1, i) / brr(2, i)
Next
Cells(5, 2).Resize(4, 255).ClearContents
Cells(5, 2).Resize(1, m) = d.keys
Cells(6, 2).Resize(3, m) = brr
End If
End With
End Sub
1查询数据---记录日期:根据查询条件中的产品名称,不良项目以及开始日期和结束日期查找《数据表》中的符合条件的记录日期。超出查找日期范围的不记录或空白显示。
2查询数据---不良数量:搜索《数据表》中同时满足查询条件的合计不良数量.
如果查询条件中只选产品名称未选不良项目时,统计这个产品的所有不良项目的合计不良数;如果查询条件中只选不良项目未选产品名称时,统计所有产品的查询的不良项目的合计不良数;
3查询数据---投入数量,同不良数量对应关系
如果查询条件中只选产品名称未选不良项目时,统计这个产品的所有不良项目的合计投入数;如果查询条件中只选不良项目未选产品名称时,统计所有产品的查询的不良项目的合计投入数;
Sub Macro2()
Dim c As Range, Mydate1 As Date, Mydate2 As Date, arr, brr(), x As WorksheetFunction
Dim i As Long, r1 As Long, r2 As Long, m As Integer
Set x = WorksheetFunction
Mydate1 = [d2]
Mydate2 = [j2]
Set d = CreateObject("Scripting.Dictionary")
With Sheets("数据")
arr = .Range("B3:g" & .Range("B65536").End(xlUp).Row)
For i = 1 To UBound(arr)
If arr(i, 1) >= Mydate1 Then
r1 = i
Exit For
End If
Next
For i = 1 To UBound(arr)
If arr(i, 1) > Mydate2 Then
r2 = i - 1
Exit For
End If
Next
If r1 >= 0 And r2 >= r1 Then
For i = r1 To r2
If Not d.exists(arr(i, 1)) Then
m = m + 1
d(arr(i, 1)) = m
ReDim Preserve brr(1 To 3, 1 To m)
brr(1, m) = x.Sum(.Cells(i + 2, 8).Resize(1, 17)) '不良h列从到x列
brr(2, m) = arr(i, 6)
Else
brr(1, d(arr(i, 1))) = brr(1, d(arr(i, 1))) + x.Sum(.Cells(i + 2, 8).Resize(1, 17)) '不良h列从到x列
brr(2, d(arr(i, 1))) = brr(2, d(arr(i, 1))) + arr(i, 6)
End If
Next
For i = 1 To m
If brr(2, i) > 0 Then brr(3, i) = brr(1, i) / brr(2, i)
Next
Cells(5, 2).Resize(4, 255).ClearContents
Cells(5, 2).Resize(1, m) = d.keys
Cells(6, 2).Resize(3, m) = brr
End If
End With
End Sub
TOP
多条件选择性查询数据
asp下实现多条件模糊查询SQL语句
资料数据查询
超赢数据-超赢数据查询
查询数据15个国内外查询数据的网站
第五章 11数据查询与视图
股票代码查询 快速调取个股数据
在VB+Access系统中实现多项条件查询
选择性粘贴
利用顶牛数据捕捉涨停板步骤和条件:
关于SQL Server SQL语句查询分页数据的解决方案
小散户DDE数据查询(http://dde.xiaosanhu.com/)
使用Web查询同步更新Excel数据-办公软件教程
数据库索引和海量数据查询的优化
海量数据搜索算法优化-存储\查询\排序算法
南京港(002040股吧-资金流向),股票数据查询
查询superview超赢数据及dde大单数据深度分析
选择性反向投资策略
选择性反向投资策略
选择性尿蛋白指数
细读个股 选择性接触
EXCEL选择性粘贴
选择性失忆! - Qzone日志
选择性失聪症