我有一张excel表,看起来像这样:
age q01 q02 q03
1 0.5 0.6 0.8
2 0.6 0.9 1.2
我感兴趣的变量中存在多个年龄值的分位数值。现在,我想创建一个excel计算器,您可以在其中输入年龄和某个人达到的值,并返回该人所在的分位数。 例如:一个人2岁,在测试中达到1.0分。那么excel公式应该返回" q02"因为最接近的值是0.9,它位于" q02"。
列中答案 0 :(得分:1)
您可以使用公式执行此操作,有3个基本部分,找到与年龄匹配的行,找到最接近分数的列,返回此行/列中的值。假设您的示例表在A1:D3中我设置了几个单元格,使得Age在F2中,Score在G2中,结果行为H2,结果col为I2,结果为J2,公式为:
H2 = MATCH(F2, A2:A3)
I2 = MATCH(MIN(ABS(G2-OFFSET(B1:D1, H2, 0))), ABS(G2-OFFSET(B1:D1, H2, 0)))
I2是棘手的部分,它是一个数组公式,所以当你输入公式时你必须按住CTRL + SHIFT,基本上它看H2已经识别出与Age匹配的行,然后它找到绝对值行和分数中每个值的差异,然后找到最小差值(最接近的值),然后确定该值在数组中的位置(给出匹配列)
J2 = OFFSET(A1, H2, I2)
J2只使用offset来返回结果row / col
的值很抱歉要使用' helper'但是我无法让OFFSET直接使用I2的数组结果