在VLOOKUP中使用间接函数查找MAX ABS时出错
我正在尝试设置一张表单,可以用作模板对数据进行sorting,查找特定值并创build图表。 一切工作正常,我正在寻找的最大幅度和平均幅度值。 我正在处理一个关于图像中公式的问题。 以下是完整的代码。
=VLOOKUP(MAX(ABS(INDIRECT("J"&P3&":J"&Q3))),INDIRECT("J"&P3&":M"&Q3),4,FALSE)
用这个代码,我正在定义垂直方向的最大值,然后返回相应的幅度值。
当我刚刚input单元格值时,它工作正常(需要很长时间,但工作正常),但是为了使其适用于其他数据文件(它们在相同的布局中具有相同数量的值有不同的值)我已经调整到上面的公式。
在P和Q列中,我find了我感兴趣的范围的顶部和底部的行,然后将这些值代入我的工作公式中。
这种方法对于平均幅度和最大幅度是很好的,所以我知道它应该工作,但是当使用上面的公式时,它find了不正确的值。 出于某种原因,它将数组计算为列表中第二个值。
1:评估公式之前的失误步骤(我正在寻找范围的数组)
2:失步后的评估公式(3.5,不接近最大绝对值)
任何帮助将是伟大的。
你不能转换max(abs(…))并用它来查找; 只适用于正数。 如果第一次使用IFERROR失败,则需要将处理传递给第二个VLOOKUP。
用稍微更高级的子公式可以获得绝对最大值,比使用数组公式可以达到相同的效果更好。
此外,非易失性INDEX可以代替易失性INDIRECT。
作为一个非数组公式,
=iferror(vlookup(max(max(index(j:j, p3):index(j:j, q3)), abs(min(index(j:j, p3):index(j:j, q3)))), index(j:j, p3):index(m:m, q3), 4, false), vlookup(-max(max(index(j:j, p3):index(j:j, q3)), abs(min(index(j:j, p3):index(j:j, q3)))), index(j:j, p3):index(m:m, q3), 4, false))
换句话说,如果找不到最大值(abs(…)),则查找-max(abs(…))。