Excel 如何在一行数字中找到零值的最后一个实例

Excel 如何在一行数字中找到零值的最后一个实例,excel,lookup,sumproduct,Excel,Lookup,Sumproduct,我有一个按日期(从左到右)列出库存数量的表,并且希望有一个公式返回最后一个零值出现的单元格。引用此结果将允许我通过索引该列的标题单元格(偏移1列,到最后一个零后的第一个单元格>1),完成显示“库存自…”的公式 我不想使用数组,也不想使用宏或VBScript 这是一个较长公式的一部分,其中我查找行中的所有零值(“产品从未库存”),行中的所有值均>0(“产品从未缺货”),当前日期的库存为0,但行中至少有一个>0的实例(“自…以来产品一直缺货”)。公式的第三部分是通过使用=LOOKUP(2,1/(A:

我有一个按日期(从左到右)列出库存数量的表,并且希望有一个公式返回最后一个零值出现的单元格。引用此结果将允许我通过索引该列的标题单元格(偏移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实例(对于缺货的第三个场景),我的备份解决方案也是如此。但是,这并不理想,因为我的日期应该从左到右显示,以便绘图。

您可以这样做:


Hmmm。。。这看起来像是我没试过的变体。我是否可以将SUMPRODUCT放在上面以避免使用数组?我会测试一下,然后看看。所以我一直在玩我的场景,并设法让它工作。我回到=LOOKUP(2,1/($A2:E2=0),$A$1:$E$1),意识到我的问题是我将它包装在偏移量中,以便从最后一个零值之后的下一列获取日期列标题。事实证明,我不能同时使用偏移量和查找,所以一旦我删除了偏移量,它就可以完美地工作。我不得不做一些其他的调整来拉进正确的头球,但至少我的问题解决了。