[英]Loop through column values from one sheet and paste COUNTIF value from another column into another sheet
我在Excel文件中有两张纸,需要从一张纸执行COUNTIF公式,然后将相应的信息粘贴到另一张纸中。 原始工作表的第一列中只有类型,第二列为空。 我试图遍历工作表1中的类型,在每个增量工作表中遍历工作表2中的类型,并将工作表2中的第2列的计数越过工作表1的第2列。
我当前的VBA代码如下:
Sub TestOE()
'For loop to go until end of filled cells in 1st column of each sheet
a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
b = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
'Loop
For i = 2 To a
For j = 2 To b
If Worksheets("Sheet1").Cells(i, 1).Value = Worksheets("Sheet2").Cells(j, 1).Value Then
Worksheets("Sheet1").Cells(i, 2).Value = Application.WorksheetFunction.CountIf(Range("B:B"), 1)
End If
Next j
Next i
End Sub
此代码仅在工作表1的期望结果中粘贴0。
从中提取信息的表格
工作表中粘贴信息
目标表中的期望结果
您可以简单地使用sumif函数根据条件对值求和。
这是公式
= COUNTIF(Sheet1!$ A $ 2:$ A $ 20,Sheet2!A2)
如果您想对列B求和
= SUMIF(Sheet1!$ A $ 2:$ A $ 20,Sheet2!A2,Sheet1!$ B $ 2:$ B $ 20)
只需几个步骤,您就可以在不使用VBA的情况下完成所需的工作,而只需使用数据透视表。 只需执行以下操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.