1

我有一个按日期(从左到右)列出库存数量的表格,并且想要一个公式来返回最后一个零值出现的单元格。引用此结果将允许我通过索引该列的标题单元格(偏移 1 列,到最后一个零之后的第一个单元格 >1)来完成显示“自有库存以来...”的公式。)

我不想使用数组,也不想使用宏或 VBScript。

这是一个较长公式的一部分,我在该行中查找所有零值(“产品从未库存”),其中行中的所有值都 > 0(“产品从未缺货”),并且当前日期的库存为 0,但该行中至少有一个 >0 的实例(“产品自......以来一直缺货”)。公式的第三部分是通过使用 =LOOKUP(2,1/(A:A>0),A:A) 定位最后一个 >0 值,然后偏移一列来完成的。我有公式可以成功返回这些场景的结果。

对于第四种情况,我已经尝试了两个公式,其中最新日期的股票 > 0 但行中至少有一个零实例:

=LOOKUP(2,1/(A:A=0),A:A)

=INDEX(B:B,SUMPRODUCT(MAX((Item=0)*ROW(Item))))

但是,这些在查找一行中的最后一个零值时不起作用,只有在查找非零值时才起作用。

一些样本数据:

Jan-1 Jan-2 Jan-3 Jan-4 Jan-5

1     3     5     4     3      Result: Product never out of stock

0     0     0     0     0      Result: Product never in stock

3     1     0     0     0      Result: Product out of stock since [Jan-3]

1     2     0     4     3      Result: Product in stock since [Jan-4]

上面的第四种情况是我无法编写公式来完成日期输入。

到目前为止,我能够让它工作的唯一方法是重新排列所有日期列,使它们从右到左流动,然后使用 INDEX 和 MATCH 查找行中的第一个零实例以完成公式. 这也适用于查找第一个 >0 实例(对于缺货的第三种情况),我的备份解决方案也是如此。但是,这并不理想,因为出于绘图目的,我的日期应该从左到右显示。

4

1 回答 1

1

你可以这样做:

在此处输入图像描述

于 2019-03-29T05:59:24.743 回答