Excel: 如何计算跨列移动?

Excel: How to calculate movement across columns?

我有一个数据集,其中的金额可以向前移动任意数量的列,向后移动任意数量的列,可以删除或添加。

我只想找到那些向前和向后移动的平衡,忽略那些已经添加或删除的。例如,在下面的 f 行中,虽然在第 4 列中添加了 100 的余额,但我只想要从第 3 列移动到第 2 列的 300 的余额。

本周:

ID 1 2 3 4
a 100 0 0 0
b 0 500 0 0
c 300 100 0 0
d 1200 200 100 0
e 0 0 0 100
f 200 300 0 100

上周:

ID 1 2 3 4
a 0 0 0 100
b 500 0 0 0
c 300 0 100 0
d 1200 0 100 200
e 100 0 0 0
f 200 0 300 0

出于某种原因,第二个 table 只是不想工作所以这是一张照片:

运动列表如下:

a: 从 4 向前拉 -> 1: 100
b:从 1 -> 2 推入:500
c: 拉: 100
d: 拉: 200
e: 推送: 100
f: 拉: 300


输出

这是我希望最终输出的样子:
拉:700
推送:600



在此先感谢您,如有任何问题请告诉我!

让我们从最简单的开始。现在假设行的顺序相同并且您不介意辅助列。然后你可以直接用Match看看匹配的金额移动到哪里了:

=SUM((MATCH(B13:E13,B3:E3,0)<COLUMN(B:E)-1)*B13:E13)

=SUM((MATCH(B13:E13,B3:E3,0)>COLUMN(B:E)-1)*B13:E13)

把它们拉下来然后加起来

对于没有匹配的情况,稍后需要一些错误处理