Excel比较与筛选
这次是一个相当复杂的VBA问题 我有两张excel工作簿;数据和分析 数据表包含一列(T)和一列结果(Y)。 分析表包含一个名称为(B1)的单元格 我想在数据表T列中搜索分析表B1单元格中的列名。识别具有相似值的单元格后,我需要输出相应结果列的内容。“结果”列有三个可能的值;1、2或3。我想显示每种可能性的总发生率 尝试了宏和Vlookup,但在尝试获取结果列的值时遇到了问题:( 期待您的回复 问候,Excel比较与筛选,excel,worksheet-function,vba,Excel,Worksheet Function,Vba,这次是一个相当复杂的VBA问题 我有两张excel工作簿;数据和分析 数据表包含一列(T)和一列结果(Y)。 分析表包含一个名称为(B1)的单元格 我想在数据表T列中搜索分析表B1单元格中的列名。识别具有相似值的单元格后,我需要输出相应结果列的内容。“结果”列有三个可能的值;1、2或3。我想显示每种可能性的总发生率 尝试了宏和Vlookup,但在尝试获取结果列的值时遇到了问题:( 期待您的回复 问候, Pranav如果您创建一个透视表,其中T列中的名称作为行值,Y列中的值作为列值,“Y的计数”作
Pranav如果您创建一个透视表,其中T列中的名称作为行值,Y列中的值作为列值,“Y的计数”作为表中的值,那么您可以使用VLOOKUP在该表中查找任何数字的计数。简单示例:
Count of number number
name 1 2 3 Grand Total
a 1 2 1 4
b 3 3 2 8
d 2 3 1 6
f 3 6 2 11
g 4 3 2 9
h 1 3 1 5
j 1 3 2 6
v 1 1 1 3
Grand Total 16 24 12 52
正如您所看到的,在这个表中做一个VLOOKUP并得到您的答案是很容易的。只需向@chuff致敬,他在评论中提出了类似的建议。如果您有Excel 2007或更高版本,那么您可以使用
COUNTIFS
对于您的示例,我会将=COUNTIFS(T:T,B1,Y:Y,1)
,并将其他列的1更改为2和3
如果您使用Excel 2003或之前的版本,则需要使用SUMPRODUCT
来获得相同的结果,并且还必须使用特定的范围来定义范围,而不是引用整个列。e、 g.
=SUMPRODUCT(-T1:T300=B1),-(Y1:Y300=1))
“类似”确切的意思是什么?需要更多信息。B1单元格中的名称是列名还是T列中有匹配项的值?B1中的名称在T列中是否有多个匹配项?是否希望分析表显示与B1匹配的名称出现1、2和3的次数?是否考虑过透视表?@Tim:类似的意思“s完全匹配。@Chuff:B1单元格中的名称是一个与T列中的值匹配的值。Y列(1、2或3)中将有多个匹配项,其中只有一个数字。”。虽然透视表可以工作,但它并不能解决问题,因为我正在从另一张工作表中搜索,需要显示结果。@babu:只要在需要结果的工作表上进行VLOOKUP,就会在那里看到结果。您可以在自己的工作表上创建透视表,并命名范围(四列宽,仅包括带有名称的行-不包括列标题,也不包括总计)“pivot1”:然后在结果表上写入=VLOOKUP(B1,pivot1,2)
以获得1的计数。重复最后一个参数中的数字3和4以获得2和3的计数。