Excel-在公式中对该范围进行vlookup的范围平均值

Excel-在公式中对该范围进行vlookup的范围平均值,excel,excel-formula,lookup,Excel,Excel Formula,Lookup,我有两个表:评级列表-A1:A8;评级查找-C1:D6 我想根据评级查找表中的评级值计算评级表的平均评级 我可以在评级表中创建一个额外的列来查找评级查找表,但我想知道是否有一种方法可以自动计算平均值,而无需添加任何额外的列 在G2中尝试一下: =SUMPRODUCT((C2:C6=TRANSPOSE(A2:A8))*(D2:D6))/8 如果有Excel O365: =SUM(VLOOKUP(A2:A8,C2:D6,2,0))/8 如果lookup\u value是数组,则MATCH将返回一

我有两个表:评级列表-A1:A8;评级查找-C1:D6

我想根据评级查找表中的评级值计算评级表的平均评级

我可以在评级表中创建一个额外的列来查找评级查找表,但我想知道是否有一种方法可以自动计算平均值,而无需添加任何额外的列


G2
中尝试一下:

=SUMPRODUCT((C2:C6=TRANSPOSE(A2:A8))*(D2:D6))/8
如果有Excel O365:

=SUM(VLOOKUP(A2:A8,C2:D6,2,0))/8

如果
lookup\u value
是数组,则
MATCH
将返回一个数组。因此,您可以尝试:

=AVERAGE(INDEX(Ratings_Lookup,MATCH(Ratings_List,Ratings_Lookup[Level],0),2))

下面是一个
MATCH
在带有动态数组的Excel版本中返回数组的示例。这是在O365中:


第一个可以用7代替8,谢谢。使用COUNTA(评级列表)而不是手动输入值的数量可以让我找到我想要的解决方案。非常感谢你。{=SUMPRODUCT((评级查找[级别]=转置(评级列表[评级])*(评级查找[评级])/COUNTA(评级列表[评级])显然是七。计算错误=)。很高兴它在Wryfyng工作。再看看另一个答案。它(至少对我来说)更合理,因为计算更少。嗨,谢谢你的回答。不幸的是,在Match的查找值中输入数组对我不起作用。结果不是期望的结果,使用求值公式,我看到它只得到数组的第一个值。检查了support.microsoft中的Match函数引用,它没有说lookup值可以是数组“lookup_value参数可以是值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。”@Wryfyng显然,从屏幕截图中的答案来看,它在这里起作用。您是否尝试使用
ctrl+shift+enter
输入它?什么版本的Excel?Microsoft Excel 2016(16.0.5095.1000)。是的,我尝试了普通公式和数组公式。@Wryfyng我编辑了我的帖子以显示
MATCH
返回数组。也许只是O365,而不是2016年。