【问题标题】:subtract the last two non-empty cell in excel减去excel中最后两个非空单元格
【发布时间】:2018-01-05 12:25:03
【问题描述】:

我认为这是一个简单的问题,但我似乎找不到合适的解决方案。我不知道它是否需要VBA。基本上我只想减去 Excel 中的最后两个非空单元格。示例:我有单元格 A1 和单元格 B1,然后从 B1 中减去 A1 的值,并将该值放在同一行但另一列 C1 等等。我已阅读this 以获取最后一个非空单元格,但我需要两个非空单元格并对它们执行操作。

=LOOKUP(2,1/(A:A<>""),A:A)

有没有更简单的方法来做到这一点?还是应该使用 VBA?

编辑:

原因是我正在制作一个有点类似于资产负债表但很简单的表,用户只需在第一列输入存款值,在第二列输入费用,然后在第三列显示余额。反之亦然。

编辑: 样品

【问题讨论】:

  • 如果输出单元格不是任意的,那么它可以用公式来完成。如果输出单元格是任意的,则需要 vba。
  • yes.. 输出单元格应根据任一列的最后一个非空单元格对齐...原因是我正在制作与资产负债表有点相似但很简单的用户只需在第一列输入存款,在第二列输入费用,然后在第三列显示余额..
  • 你能模拟一些数据和预期结果吗?
  • @DirkReichel 公式错误
  • @ScottCraner 更新了我的问题

标签: vba excel


【解决方案1】:

把这个放到C4中并复制下来:

=SUM($A$3:$A4)-SUM($B$3:$B4)

如果您想将公式复制到数据之后,以便在插入数据时自动填充,您可以按照@Dirk 的说明进行操作:

=IF(A4&B4<>"",SUM(A$3:A4)-SUM(B$3:B4),"")

将其放入 C4 并复制到尽可能多的地方。

这样您可以用公式填充列,并且随着数据的填充,它将从空字符串变为运行总计。

【讨论】:

  • 在最后一个条目后不重复:C3 中的=IF(A3&amp;B3&lt;&gt;"",SUM(A$3:A3)-SUM(B$3:B3),"") 并复制下来;)
  • 谢谢,但如果我在下面输入新值,我希望第三列不要更改..
  • @silent_coder14 你在那种情况下试过这个公式吗?它会改变吗?它不应该
  • 下面的数字不会影响上面的数字。该公式仅查看公式所在行上方的数字。从图片中可以看出,我将公式放在C4中并复制下来。第 5 行的数字不影响 C4 中的公式,第 6 行的数字不影响 C4 和 c5 中的结果
  • @silent_coder14 啊啊啊啊。您使用的是我从 Dirk 复制和粘贴的公式。有时从 cmets 复制时,文本中会插入看不见的字符。我已经修复了它,并将参考放在 C4 中并复制下来。见编辑。您可能需要刷新屏幕。
【解决方案2】:

编辑

正则公式:

=IF(ROW($C1)=1,OFFSET($C1,0,-2)-OFFSET($C1,0,-1),OFFSET($C1,-1,0)+OFFSET($C1,0,-2)-OFFSET($C1,0,-1))

【讨论】:

  • 感谢帮助
【解决方案3】:

在单元格 C3 中输入“=A3-B3” 在单元格 C4 中输入“=C3+A4-B4”,然后向下复制。 这将使 C3 中的余额从 3000 开始,然后将任何存款或减去任何取款添加到 C 列的其余部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2021-12-03
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    相关资源
    最近更新 更多