行人工移位公式

Formula for row artificial shift

我已经这样做了好几个星期了,但无济于事,我会给你上下文,这样会更容易理解:我有几组仓库物料代码,从小到大排序,以及它们需要交付到车间进行处理的时间以及每个特定时间范围内所需的托盘数量,如下所示:

Mat. Code   Time      Pallets
65504606    07:30:00    2
65504606    10:30:00    1
65504606    13:30:00    2
65504606    16:30:00    1
65504606    19:30:00    2
65504606    22:30:00    1
65504606    01:30:00    2
65504606    04:30:00    1

我正在将此数据与另一项工作sheet 进行匹配,其中包含有关每个托盘存储位置的信息,因此我需要在时间列中移动值,以便按时交付特定托盘,这是我想要的样子:

Mat. Code   location    Time     Cell shift
65504606    91-04-03/1  7 30           0
65504606    76-13-03/1  7 30          -1
65504606    97-19-03/1  10 30         -1
65504606    97-16-03/3  13 30         -1
65504606    76-19-02/1  13 30         -2
65504606    97-18-03/1  16 30         -2
65504606    97-18-03/2  19 30         -2
65504606    88-07-02/1  19 30         -3

我想我可以通过添加另一列来人为地移动单元格(单元格移动 - 它必须是负数,因为我匹配的 sheet 中的行数较小,而且我正在使用INDEX - 用于匹配每组代码的每个连续行的小公式组合),但我尝试过的所有公式组合都给了我错误的数字。托盘的数量可以从 0 到 9 不等,并且没有特定的顺序。

我知道有很多令人困惑的信息,但如果你想出一个合适的公式,你真的会帮助我。提前致谢!

你要做的是在限定范围内查找一些东西。
我所做的是限制范围,以便我可以使用简单的 VLOOKUP。
OP 要求的是在另一个公式中使用的额外输入。

=VLOOKUP(C2,OFFSET(YourFirstTableWithPalletNums!$A,MATCH(A2,YourFirstTableWithPalletNums!$A:$A,0)-1,1,COUNTIFS(YourFirstTableWithPalletNums!$A:$A,A2),2),2,FALSE)

P.S。仅当您查找的时间值实际上是时间值而不是问题暗示的字符串时才有效。

编辑:

=ROW(OFFSET(YourFirstTableWithPalletNums!$A,MATCH(WhereYouLookUpFrom!$C2,OFFSET(YourFirstTableWithPalletNums!$A,MATCH($A2,YourFirstTableWithPalletNums!$A:$A,0)-1,1,COUNTIFS(YourFirstTableWithPalletNums!$A:$A,$A2)),0),1))-ROW()

然后我们需要再轮班一次,然后取适用的行(在这种情况下我们仍在使用范围)。当添加到之前上传的文件中时,它运行良好。