我有一张表格,其中按日期(从左到右)列出了库存数量,并且想要一个公式,该公式将返回最后一个零值出现的单元格。引用此结果,将使我能够通过为该列的标题单元格编制索引(偏移量为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实例(对于第三个缺货的情况)也可以成功进行,因此我的备份解决方案也是如此。但是,这并不理想,因为我的日期应该从左到右显示,以便进行绘图。