-1

我正在制作一张表格,以从我在网上商店进行的每笔销售中计算实际收入。

问题是我的产品的成本并不总是恒定的。它因许多因素而异,因此每次购买时,我都会添加新产品成本(最新成本)。

每次我进行新购买时,我都会添加 QUANTITY 和新的 COST。(购买 1、购买 2、购买 3 等)。

我的工作表的屏幕截图,以第 41 行为例

我的工作表的屏幕截图,以第 41 行为例

在 BI 列中,想知道基于每种产品的总销售额的当前成本是多少。

例如:

如果我卖出的数量少于 100 个(购买 1 数量),那么我需要公式来选择 E41 的值(购买 1 成本)。

如果我卖了超过 100 件和少于 300 件(这是购买 1 和购买 2 的总和),我需要公式来选择 G41 的值(购买 2 成本)等等......

到目前为止我想出的公式是这样的:

=INDEX(41:41,,IF(C41<=D41,COLUMN(E41),IF(C41<=D41+F41,COLUMN(E41)+2,IF(C41<=D41+F41+H41,COLUMN(E41)+4,COLUMN(E41)+6))))

此公式有效,但仅适用于前 3 次购买。

我需要一个没有限制的公式,但我不知道如何制作一个 VARIABLE 公式。

4

1 回答 1

0

当我说我不会浪费一分钟来尝试用您当前的图纸设计解决您的问题时,请按字面意思理解我的话。您将需要 VBA,然后从每次购买中提取数量和价格,而无法按列进行过滤。(分钟到了。)

您需要的是一个采购数据库:ItemID、日期、数量、价格,也许还有 Ref#。从中,您可以通过使用 SUMIF 等功能过滤项目和成本来提取任何项目的交易。然而,这只是让真正的问题触手可及,而没有解决它。

问题是,当您购买 100 件 @42 时,您的价格为 42。然后您再购买 100 件 @46,您的平均价格为 44。但如果您以 42 的成本售出 50 件,则剩余 150 件的平均成本为45. 因此,在不知道销售数量和适用于该销售的平均成本的情况下,您无法确定任何剩余部分的平均成本。要解决这个问题,您仍然需要 VBA,但建议的购买记录 db 格式至少会支持这样的解决方案。

不久前,我编写了一个解决方案,其中数据库中有额外的列,每次销售记录在 3 列中(很像您当前的购买记录):日期、数量、参考。通过这种方式,我可以追踪每笔购买的销售情况(这是为了股票交易)。在较早的数量售罄之前,新数量的销售不会开始。

也许您不需要跟踪购买数量的去向,只需要一列将余额倒数为零。这会简单得多,但缺点是您无法回滚错误。最后回滚是我放弃设计的原因。放弃它的关键是一个类似的销售数据库:日期、数量、价格、参考号。

通过这样的设置,您可以设计一个系统来从购买方提取平均价格或 FiFo 价格并将其与销售相关联。如果条件是它应该使用工作表函数完成,您可以在购买数据库中添加一个“当前成本”列,随着每次购买而变化,您可以使用 VLOOKUP 或 SUMPRODUCT 按日期从销售方查找,并设置一个成本价格适用于从购买之日到下一个。如果这对您有吸引力,则必须找到一种方法来处理同时有购买销售的日子。

于 2021-03-20T07:49:23.940 回答