我在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。
从中提取信息的表格
在其中粘贴信息的表格
目标工作表中所需的结果
答案 0 :(得分:0)
您可以简单地使用sumif函数根据条件对值求和。
这是公式
= COUNTIF(Sheet1!$ A $ 2:$ A $ 20,Sheet2!A2)
如果您想对列B求和
= SUMIF(Sheet1!$ A $ 2:$ A $ 20,Sheet2!A2,Sheet1!$ B $ 2:$ B $ 20)
答案 1 :(得分:0)
只需几个步骤,您就可以在不使用VBA的情况下完成所需的工作,而只需使用数据透视表。只需执行以下操作即可。