我需要帮助,我已经尝试了好几个小时来解决这个问题。
我需要跟踪材料消耗并每周报告,所以我需要从当前材料值中减去某些材料的先前值。
我尝试过 VLOOKUP、INDEX、LOOKUP,但没有得到预期的结果。
Excel 表格可以从以下链接下载: https://easyupload.io/kziudk
提前致谢!
答案1
据我了解,您想要从同一组(BOX_ID)中同一列(总消耗)的前一个值中减去当前行的值,由INPUT_ID决定。
这将起作用:
=[@[TOTAL_CONSUMED]]-IFERROR(VLOOKUP(MAXIFS([INPUT_ID],[BOX_ID],[@[BOX_ID]],[INPUT_ID],"<"&[@[INPUT_ID]]),Table1[[INPUT_ID]:[TOTAL_CONSUMED]],3,FALSE),0)
要了解其工作原理,请考虑此图中绿色的中间列:
这可以通过 OFFSET 来完成,但我不建议这样做。
如果你有最新版本的 Excel,你也可以尝试这个稍微简单的公式,MAX(FILTER(
其中代替IFERROR(VLOOKUP(MAXIFS(
=[@[TOTAL_CONSUMED]]-MAX(FILTER([TOTAL_CONSUMED],([BOX_ID]=[@[BOX_ID]])*([INPUT_ID]<[@[INPUT_ID]]),0))