我有一张如下所示的 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 执行垂直查找。
我发现隐藏的列通常会使代码更加清晰(而不是一些非常长的公式)。我是一名程序员,非程序员倾向于使用非常长的函数,这使得维护起来更加困难。