【问题标题】:Excel: How to find closest number in table, many timesExcel:如何多次在表格中找到最接近的数字
【发布时间】:2019-11-03 20:15:00
【问题描述】:

Excel

需要在表中找到最近的浮点数,对于每个整数 0..99

https://www.excel-easy.com/examples/closest-match.html 解释了一种从数组到常数单元格中查找最近数的绝妙技术。

我需要对许多值执行此操作(具体来说,从浮点数列表中找到最接近整数 0..99 的垂直列表)。

数组公式不允许比较值(整数)在我们向下移动整数列表时发生变化,它会将其视为一个常量位置。

我试过表格,指的是整数(有效),但上述网站的公式需要一个数组操作(F2,控制 shift Enter),这在表格中是不允许的。更正:您可以输入公式,控制输入一个单元格的数组函数,复制公式,然后插入表格。不要更改搜索单元格引用!

更新

  • 我仍然可以使用数组操作,但我必须手动将所需的函数复​​制到每 100 个目标单元格中​​。没什么大不了的。

  • 修正了公式中的错字。有关“完美”的详细信息,请参见问题的结尾。

示例代码:

AI4=some integer
AJ4=MATCH(MIN(ABS(Table[float_column]-AI4)), ABS(Table[float_column]-AI4), 0)

对 AI5...AI103 中的后续整数重复

示例数据:

0.1  <= matches 0
0.5
0.95 <= matches 1
1.51 <= matches 2
2.89

考虑target=5,且4.5、5.5存在于列表中的情况。一个给出-0.5,另一个给出+0.5。搜索 ABS(-.5) 将给出第一个。任何一个都不错,除非您的数据是非单调的

这仍然需要更好的解决方案。

提前致谢!

【问题讨论】:

    标签: excel floating-point integer matching closest


    【解决方案1】:

    我遇到了另一个问题,这促使我找到了更好的解决方案。

    具体来说,由于我感兴趣的 X 的 Y 值在 X 中的距离可能不同,因此我将在 X 点之前和之后的 X 点之间插入 X。即搜索小于或等于,也大于或等于,插入所需的 X,然后插入 Y 值。

    我可以更进一步,将 N - 1 插值到 N + 1,这将为嘈杂的数据提供更清晰的结果。

    【讨论】:

    • 重读此文,确实不是很清楚,见谅。我应该在答案中提供更多细节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多