EXCEL 匹配数值 查找并返回数据
公式:=INDEX($A$2:$A$8,MATCH(MIN(ABS($B$2:$B$8-G2)+ABS($C$2:$C$8-H2)+ABS($D$2:$D$8-I2)),(ABS($B$2:$B$8-G2)+ABS($C$2:$C$8-H2)+ABS($D$2:$D$8-I2)),0)),复制粘贴公式后按SHIFT+CONTROL+回车运行;
思路是这样的,一共有四列数据分别是序号、数据一、数据二、数据三,他们分别是四个一维数组(矩阵)。
1、用三个数组数据一二三分别对应减去三个数据得到三个新的数组(差数组);
2、分别用ABS()函数对三个“差数组”取绝对值得到对应的每个元素跟参照元素的距离;
3、三个“差数组”相加得到一个新的数组(总距离数组),这就是每条数据相对于参照数据的总距离,即公式部分的(ABS($B$2:$B$8-G2)+ABS($C$2:$C$8-H2)+ABS($D$2:$D$8-I2));
4、用MIN()函数取其中的最小值MIN(ABS($B$2:$B$8-G2)+ABS($C$2:$C$8-H2)+ABS($D$2:$D$8-I2)),的到该条数据总距离的值;
5、再用MATCH()函数得到该数据在“总距离数组”中的序号,MATCH(MIN(ABS($B$2:$B$8-G2)+ABS($C$2:$C$8-H2)+ABS($D$2:$D$8-I2)),(ABS($B$2:$B$8-G2)+ABS($C$2:$C$8-H2)+ABS($D$2:$D$8-I2)),0);
6、然后用INDEX()函数在序号列中把我们想要的结果引用回来,就搞掂啦。
大神无处不在!
广告 您可能关注的内容 |