【问题标题】:Excel - Getting the first cell after which a continous range meets criteriaExcel - 获取连续范围符合条件的第一个单元格
【发布时间】:2017-11-27 09:51:38
【问题描述】:

我在 Excel 2016 中有一个相对较大的数据库,用于描述两年后更换新产品的成本。
旧产品(产品 A)在每 n 次使用后必须进行维修,这使得成本曲线看起来像一条阶梯。新产品(产品 B)没有这样的成本,所以在这种情况下曲线是线性的。这两条曲线是发散的,但只是稍微发散。
通过比较这两种产品,由于维修成本,在维修产品 A 后,B 总是更便宜。在 n 段时间内,产品 A 的成本只会更低,因此在维修之前,产品 A 会便宜一些。 Price comparison

我在一列中节省了成本,我正在寻找最后一个负数所在的行,之后在 n 个单元格的范围内所有数字都是正数。

到目前为止,我已经尝试过 MATCH,但在找到第一个数字后它就停止了。 例如:

A1
-45
15
-60
-20
30
15
40
50

假设 n = 3 和 -45 在单元格 A1 中,我想要一个公式,结果 whitch 给我 A4(因为接下来的 3 个单元格中的以下数字都是正数)。 MATCH 在 A1 处停止(如果查找正数,则在 A2 处停止)。

可以用(数组)公式完成吗?怎么样?
更笼统地说:如何通过整个列/数组“推动”范围的条件检查?

提前谢谢你。

【问题讨论】:

    标签: excel range match formula


    【解决方案1】:

    感谢您的提示。我能够在数学上为描述我的值的函数定义一个下包络线,因此我可以计算它与 x 轴相交的点。这样就解决了问题。

    再次感谢您。

    【讨论】:

    • 很高兴您找到了自己的答案!如果您发现我的/回答有帮助,请点赞;)
    【解决方案2】:

    如果不使用数组,您可以通过添加具有行号的列来实现:

    A1  B1    
    -45 1   
    15  2    
    -60 3   
    -20 4   
    [...]
    

    并使用公式:

    =LOOKUP(2;1/(A1:A8<0);B1:B8)
    

    这将为您提供从底部开始的第一个否定结果的行号(B 列)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多