寻找匹配两组数据之间的 X、Y、Z 点表。
两组的区别在于Y值的符号翻转了。
例如,在此屏幕截图中,我将“目标”设置为我要查找的值,其中 Y 值是 D 列中的值的负数。
我使用索引和匹配的组合,但这会找到完全匹配而不是最接近的匹配:
=INDEX($C$7:$C$1048576; MATCH(1; (I120=$D$7:$D$1048576) * (J120=$E$7:$E$1048576) * (K120=$F$7:$F$1048576); 0))
在几百个点的数据集中,大约一百个点不会完全匹配。
我想要一个公式来找到与目标点最接近的匹配。
https://www.engineeringtoolbox.com/distance-relationship- Between-two-points-d_1854.html展示了如何计算两个 3D 点之间的距离。
例如,识别 A-C 中的点与 F-H 中的列表之间最接近的匹配:
编辑:处理“翻转”的 Y 值 -
感谢所有看到并为此提供帮助的人。
与朋友讨论这个问题后,我们发现解决方案是使用以下距离修改公式来计算“加权”距离:
d = sqrt(x^2 + (2y)^2 + (2z)^2)
然后,利用这些修改后的差异的差异,我们能够在合理的误差范围内将点与相反的点进行匹配(我们对整个数据集使用 0.005 的误差界限,这匹配了每个点)。