如何根据多个条件进行加减?

如何根据多个条件进行加减?

这个问题是关于我在 Google 表格中制作的库存跟踪系统的。

需要明确的是:

  • 任何传入物品都有正数量
  • 任何传出物品的数量为负数

要求是,在盘点期末库存时,输入现有数量,即正数。这个正数就是当前可用的库存。

相反,如果期末库存为负数,则表示它是消耗量(负数)。在这里,它将从之前的总库存中减去。因此,挑战在于计算这一点:

产品 X 的库存 = [其总数量与期末库存之间的差额] - [之前的库存]

我使用 SUMIFS 来获取每件商品的库存。这不考虑日期,因为我们需要计算当前库存,而不管日期是多少。

问题: 这只在我添加新进库存之前有效,之后整个计算都会出错。例如,如果我在第 3 天添加 10,000,库存就会变成 -4300,而它应该是 15,700。查看图片以更好地理解。

前: 第三天没有添加新库存--> sumifs 看起来不错。

后: 第三天增加了 10,000 个数量 --> 破坏了 sumifs。

如果您需要任何其他信息来理解,请告诉我。

非常感谢您的帮助。我已经在这上面花费了太多时间。谢谢。

PS - 我希望我发帖在正确的堆栈上。我也应该在 webapps 上发帖吗?

答案1

Jeet,欢迎。以下是 Excel 中库存管理(和银行账户余额!)以及调试此问题的一些原则。

将您的交易与您的流动余额分开。

使用单独的列不仅是为了便于阅读,还有助于保持公式无错误。在示例中,您似乎使用 SUMIFS 来查找文本提示(“开盘”、“收盘”、“进行”),但这使得无法验证打印输出或屏幕转储。使用单独的列,就像分类帐一样。

绝不允许库存出现负数。

如果您的库存是实物,您的库存栏永远不应低于零。相反,应防止交易栏允许减去比库存中可用的项目更多的项目 - 并要求在提取之前添加更多库存。

有几种方法可以做到这一点,但其中一种方法是为“延期交货”、“需求过剩”或“未满足”库存请求创建一个额外的列,这些请求在进行额外交易之前得到处理。

即使您的“库存”包含公司外部可轻易获得的物品,您也应该这样做,无论这些物品有多容易获得。(隔壁一家 24 小时营业的杂货店甚至有 AA 电池)。

由于您正在对物理过程进行建模,因此您不应让电子表格对不可能发生的事情进行建模。对需要发生的事情进行建模(在上面的例子中,在隔壁购买电池,然后将其发送给客户)。

为了进行调试,请根据有效的片段公式构建“大公式”。

第一次尝试时,人们很容易就想创建大型公式。这会让它们很难调试。更好的方法是创建一些可以运行的小公式(一次一个子句)——测试不同的情况,例如正交易、负交易、零余额交易等——一旦所有事情都运行正常,就将它们合并为大型公式。

您的问题没有提供您使用的实际公式,因此目前无法更具体地进行调试。最后,没有特定于电子表格的堆栈,所以您说得对,不清楚这是超级用户问题还是 Web 应用程序问题。应该有一个电子表格堆栈。

相关内容