【发布时间】:2014-07-19 09:59:54
【问题描述】:
这可能很简单,但似乎我无法找到解决方案。无论如何,谷歌搜索没有运气(可能是错误的关键字):
我需要计算所有找到的 vlookup 结果的平均值并忽略所有未找到的值。
我目前拥有的:
= AVERAGE(
IFERROR(VLOOKUP(A4,table01,2,0),""),
IFERROR(VLOOKUP(A4,table02,2,0),""),
IFERROR(VLOOKUP(A4,table03,2,0),""),
IFERROR(VLOOKUP(A4,table04,2,0),""),
IFERROR(VLOOKUP(A4,table05,2,0),""),
IFERROR(VLOOKUP(A4,table06,2,0),""),
IFERROR(VLOOKUP(A4,table07,2,0),""),
IFERROR(VLOOKUP(A4,table08,2,0),""),
IFERROR(VLOOKUP(A4,table09,2,0),""),
IFERROR(VLOOKUP(A4,table10,2,0),""),
IFERROR(VLOOKUP(A4,table11,2,0),""),
IFERROR(VLOOKUP(A4,table12,2,0),"")
)
每一行都可以正常工作,但如果在多个表之一中找不到该值,则平均值将始终导致 #Value! 错误。如果没有找到 IFERROR 返回我“”。
为了使平均值起作用,我应该在 IFERROR 字段中输入什么而不是 ""?
- 将其替换为 0 会计算值并降低平均值,这不应该
谢谢你
【问题讨论】:
-
如果你有 Excel 2010 或更高版本,你可以使用类似
AVERAGEA(ISERROR(VLOOKUP(...),"text"),...) -
@GeoB,是的,我有 excel 2010,但这并不能解决问题,仍然是完全相同的错误
#Value!。还有其他想法吗? -
@Czakalli 不要将 iferror(vlookup...) 公式作为 AVERAGE 函数的参数,而是将它们分别放在一个单独的单元格中,然后对单元格范围进行平均。
-
因此,当
VLOOKUP()返回#VALUE时,使用ISERROR(VLOOKUP(...),"text")会返回除text之外的其他值,应该将其排除在使用AVERAGEA()的平均值之外?
标签: excel