这次是一个相当复杂的 VBA 问题。
我有一张带有两张纸的excel工作簿;数据和分析。
数据表包含一个带有名称的列 (T) 和一个带有结果的列 (Y)。分析表包含一个名称为 (B1) 的单元格。
我想在数据表列 T 中搜索分析表 B1 单元格上的列名。识别出具有相似值的单元格后,我需要输出相应结果列的内容。结果列具有三个可能的值;1、2 或 3。我想显示每种可能性的总出现次数。
尝试了宏和 Vlookup,但是在尝试获取结果列的值时遇到了麻烦:(
期待您的回复!
问候,
普拉纳夫
这次是一个相当复杂的 VBA 问题。
我有一张带有两张纸的excel工作簿;数据和分析。
数据表包含一个带有名称的列 (T) 和一个带有结果的列 (Y)。分析表包含一个名称为 (B1) 的单元格。
我想在数据表列 T 中搜索分析表 B1 单元格上的列名。识别出具有相似值的单元格后,我需要输出相应结果列的内容。结果列具有三个可能的值;1、2 或 3。我想显示每种可能性的总出现次数。
尝试了宏和 Vlookup,但是在尝试获取结果列的值时遇到了麻烦:(
期待您的回复!
问候,
普拉纳夫
如果您创建一个数据透视表,其中 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来获得相同的结果,并且还必须使用特定范围定义范围,而不是引用整个列。
例如=SUMPRODUCT(--(T1:T300=B1),--(Y1:Y300=1))