excel遍历列数据?也就是查找 A列相同数据对应B列的所有 结果?=INDEX(B:B,SMALL(IF($A$1:$A$1000=$A$1,ROW($A$1:$A$1000),65536),ROW(A1)))&""同时按CTRL SHIFT 回车键 下拉公式 如不是,上图,带行列号的,那么,excel遍历列数据?一起来了解一下吧。
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 '产品计数归零 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
01
如下表:表1中有海量信息,表二中数据在表一中都找得到,那么如何在表一中快熟标出表二要查找的大量信息呢?
02
可以将表二中要查找“准考证号”(也可以是其慎族瞎他项,最好选择标志行的一列,就是一般情况几乎不可能出现重名的一列为宜)的信息复制到表一A列——鼠标点击表一“J2”单元格:在单元格里输入函数=IF(COUNTIF(A:A,B1)>0,"重复","不重")
——点击“Enter”键。
03
COUNTIF(range,criteria)函数含义:=countif(范围,条件) 函数的第一个参数是范围,第二个参数是条件。用来统计满足条件的数量。COUNTIF(A:A,B1):“A:A”表示在A列找B1单元格字符的数量,=IF(COUNTIF(A:A,B1)>0,"重复","不重")表示如果B1单元格字符在A列存在,则满足条件的字符数量大于0为“真”,返回IF函数第二项,则在单元格中输入“重复”,否则输入"不重"。
04
将鼠标箭头放在单宽空元格右下角待鼠标箭头变成实心十字架时向下拖动鼠标,就能复制单元格中函数,这样就将A列单元格中出现的内容都标记出来了。
D列为3的对应行F列数据,有两种简单的公式,一是当多个满足条件的去第一个结果用VLOOKUP,公式为:
=VLOOKUP(3, D:F, 3, 0)
二是当有多个满足条件穗岁的情况是,把这些行F列的结果加起来,使用SUMIF,公式为:
=SUMIF(D:D,3, F:F)
参培瞎考如下:首中指
sub 新者配建()
dim rng as range
for each rng in range("a1:a100")
workbooks.add.saveas "D\" & rng & ".xlsx"
next
end sub
=OFFSET(D1,MATCH(D4,D2:D17,0),2) 只针对 没有重唤辩档复值,有重复值 只能计灶者算第一和乱个
D列为3的对应行F列数据,指帆有唯基雹两种简单的公式,一是当多个满足条件的去第一个结锋慧果用VLOOKUP,公式为:
=VLOOKUP(3, D:F, 3, 0)
二是当有多个满足条件的情况是,把这些行F列的结果加起来,使用SUMIF,公式为:
=SUMIF(D:D,3, F:F)
以上就是excel遍历列数据的全部内容,请截图说明,截图时切记带左边的行号和上面的列标,以反映出工作表数据结构的全貌(数据行可以比实际数据少,只要有代表性即可,文字说明数据有多少行。在需要得到结果的单元格或数个单元格中输入正确的结果。