从Excel中另一列的公式获取一列中的值

从Excel中另一列的公式获取一列中的值

我有一张如下所示的 Excel 表:

Date         Original       Actual
11/10/10     15             12
12/10/10     12             10
...
24/10/10     2              1
25/10/10     -2             0

我想知道原始列变为负值的日期,在此示例中为 25/10/10。

我设法使用这个公式算出该值:=MAX(IF(D63:D91 <0,D63:D91)) 它告诉我 -2。

我只是想让它查看原始值 = -2 的日期列并告诉我该日期,但我根本想不出办法做到这一点!

有人有主意吗?

答案1

由于 LOOKUP 需要一个有序集合,所以它不好用,

=INDEX(A63:A91,MATCH(MAX(IF(D63:D91<0,D63:D91)),D63:D91,0))

,以数组公式输入(Ctrl+Shift+Enter)(假设 A 列有日期)。

答案2

不幸的是,如果表格中还有其他大于 -2 的负值(例如 -1),则 GSerg 解决方案不起作用。

为了确定负值的第一个实例(根据日期)以及相关日期,我建议:

{=MIN(IF(D63:D91<0,A63:A91,""))}

请注意,A 列中的日期不需要排序。

如果相反,人们需要无论日期如何的第一个负面条目,那么我建议:

{=INDIRECT("A"&MIN(IF(D63:D91<0,ROW(63:91),"")))}

或者,如果 A 列需要动态:

{=INDEX(A$1:A91,MIN(IF(D63:D91<0,ROW(63:91),"")))}

希望这可以帮助。

答案3

我会在日期前面添加一个隐藏列,if如果原始列中的前一个值为正数且原始列中的当前值为负数,则放置 1,否则放置 0。

并对新列中的 1 执行垂直查找。

我发现隐藏的列通常会使代码更加清晰(而不是一些非常长的公式)。我是一名程序员,非程序员倾向于使用非常长的函数,这使得维护起来更加困难。

相关内容