Excel比较与筛选

Excel比较与筛选,excel,worksheet-function,vba,Excel,Worksheet Function,Vba,这次是一个相当复杂的VBA问题 我有两张excel工作簿;数据和分析 数据表包含一列(T)和一列结果(Y)。 分析表包含一个名称为(B1)的单元格 我想在数据表T列中搜索分析表B1单元格中的列名。识别具有相似值的单元格后,我需要输出相应结果列的内容。“结果”列有三个可能的值;1、2或3。我想显示每种可能性的总发生率 尝试了宏和Vlookup,但在尝试获取结果列的值时遇到了问题:( 期待您的回复 问候, Pranav如果您创建一个透视表,其中T列中的名称作为行值,Y列中的值作为列值,“Y的计数”作

这次是一个相当复杂的VBA问题

我有两张excel工作簿;数据和分析

数据表包含一列(T)和一列结果(Y)。 分析表包含一个名称为(B1)的单元格

我想在数据表T列中搜索分析表B1单元格中的列名。识别具有相似值的单元格后,我需要输出相应结果列的内容。“结果”列有三个可能的值;1、2或3。我想显示每种可能性的总发生率

尝试了宏和Vlookup,但在尝试获取结果列的值时遇到了问题:(

期待您的回复

问候,


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的计数。