在Excel中,我有一份员工列表(见图),我想存储他们的薪资更新历史记录。对于每次工资更新,我想计算他们的总工资差额。我无法创建计算公式以及$('#sticky').css({top: 60})
每个期间的更新。
下面的图片展示了我的电子表格和所需的工资更新总数(我手动计算,下注需要一个公式)。实际上,将有几十名员工,因此对公式的要求是动态的,并且每行不包含手册“+”。
注意:对于某些人来说,他们的工资可以保持不变,某些单元格中没有任何值。这是主要的挑战,因为我们必须为员工找到“前一薪水”的价值,因为它不必存储在前一个单元格中。否则,我可以使用一个简单的数组公式,如: 的 {= SUM(G3:G6-H3:H6)} 即可。但不幸的是,它在这种情况下不起作用(H列中没有值,所以我们必须找到它实际上的位置)。
此外,公式应该可以正常使用过滤:过滤掉某些行(人员处于非活动状态,请参见图片),应忽略此行/单元格。
任何人都可以帮我解决这个我正在努力的公式吗?
答案 0 :(得分:0)
这将按照你的要求行事,而不是我最好的工作.Column "I"
仍然是=SUM
。记得按 Ctrl + shift + 输入。然后将公式拖动到要应用的位置。
{=IFERROR(IF(E3="",E3,E3-INDEX(F3:$I$3,MATCH(FALSE,ISBLANK(F3:$I$3),0)))
+IF(E4="",E4,E4-INDEX(F4:$I$4,MATCH(FALSE,ISBLANK(F4:$I$4),0)))
+IF(E5="",E5,E5-INDEX(F5:$I$5,MATCH(FALSE,ISBLANK(F5:$I$5),0)))
+IF(E6="",E6,E6-INDEX(F6:$I$6,MATCH(FALSE,ISBLANK(F6:$I$6),0)));SUM(E3:E6))}
答案 1 :(得分:0)
这个公式确实给出了与你的测试数据相同的答案,如下所示, BUT 它做了一个非常大的假设 - 最后记录的薪水总是最大的。
=SUM(IF(D3:D6="",0,D3:D6-SUBTOTAL(4,OFFSET(E3,ROW(D3:D6)-ROW(D3),0,1,COLUMNS(E3:$J3)))))
必须使用 Ctrl Shift 输入
作为数组公式输入如果要忽略隐藏的行,请使用忽略隐藏单元格的小计形式
=SUM(IF(D3:D6="",0,SUBTOTAL(104,OFFSET(D3,ROW(D3:D6)-ROW(D3),0,1,1))-SUBTOTAL(104,OFFSET(E3,ROW(D3:D6)-ROW(D3),0,1,COLUMNS(E3:$J3)))))