作者:乔山办公网日期:
返回目录:excel表格制作
1、新建空白excel;
2、插入样例数据;
地址zd 备注
顺河路与107交叉口处 1005
顺河路与107交叉口处 1717
银川大道与经二路回交答叉口处 1709
银川大道与经二路交叉口处 1340
滨河路与金山路交叉口处 17121
人民路与金山路交叉口处 1039
人民路与衡山路交叉口处 1108
3、筛选单元格,条件为1717、1005、1709;
4、复制选中的内容,贴至新表格中即可;
D列为3的对应行F列数据,有两种百简单的公式,一是当多个满足度条件的问去第一个结果用VLOOKUP,公式为:
=VLOOKUP(3, D:F, 3, 0)
二是当有答多个满足条件的情况是,把这版些行F列的结果加起来,使用SUMIF,公式权为:
=SUMIF(D:D, 3, F:F)
Sub 统计()
Dim row As Integer, col As Integer
For row = 1 To 10
For col = 1 To 10
If Cells(row, col) = 1 Then
Exit For
End If
Next col
Next row
MsgBox row
MsgBox col
End Sub
Sub 提取() Dim DataWorkbook As Workbook '库存单.xls工作簿 Dim DataSheet As Worksheet, DataSheetName As String 'DataSheet=当前操作的工作表,DataSheetName=当前操作工作表的表名 Dim HuizongSheet As Worksheet '汇总单工作表 Dim GoodCount As Long Dim GoodArr, GoodArrB() Dim i As Long, j As Long Application.ScreenUpdating = False On Error Resume Next Set DataWorkbook = GetObject(ThisWorkbook.Path & "\库存单.xls") If Err > 0 Then MsgBox "没有找到 库存单.xls ,请把 库存单.xls 与 汇总.xls 放在同一目录下再运行此程序。", vbExclamation Exit Sub End If Set HuizongSheet = Worksheets("汇总单") GoodCount = 0 '产品e799bee5baa6e79fa5e98193e78988e69d83336计数归零 For Each DataSheet In DataWorkbook.Sheets '遍历每个库存单工作表 DataSheet.Activate With DataSheet GoodArr = .Range([c2], .[h65536].End(3)) '把库存数据的 C-H列 装进数组 'GoodArr(1,n) n= 1:C产品名称 2:D空 3:E进货数量 4:F总数 5:G进货次数 6:H进货时间 For i = 1 To UBound(GoodArr) If Len(GoodArr(i, 4)) Then '总数不为空时,认定找到一个产品 GoodCount = GoodCount + 1 '产品数加1 ReDim Preserve GoodArrB(1 To 2, 1 To GoodCount) GoodArrB(1, GoodCount) = DataSheet.Name & "-" & GoodArr(i, 1) '产品名称 GoodArrB(2, GoodCount) = "进货时间: " & GoodArr(i, 6) '进货时间 ElseIf Len(GoodArr(i, 6)) Then '总数为空,且进货时间不为空 GoodArrB(2, GoodCount) = GoodArrB(2, GoodCount) & " " & GoodArr(i, 6) '累加进货时间 End If Next End With Next DataWorkbook.Close '关闭打开的 库存单.xls HuizongSheet.[a1].Resize(GoodCount, 2) = Application.Transpose(GoodArrB) '把提取出的数据显示在汇总单工作表上 Application.ScreenUpdating = True End Sub