挑战Excel VBA / Macro进行库存管理

时间:2015-03-09 18:42:59

标签: excel vba excel-vba

我在电子商务公司工作,我们使用Microsoft Excel作为库存数据库。我们目前只是在购买时将这些项目添加到此数据库中,而不会删除它们。我想做的是在销售时开始移除物品。我不知道如何附加文件,所以如果您通过drenollet@supplykick.com给我发电子邮件,我可以发送给您。以下是以下步骤:

  1. “销售”选项卡包含项目的销售数据。我想获取这些数据,并能够将它复制并粘贴到excel中的Inventory Managment文件中的表格中(单独的文件,但我在"数据库"表格中包含了一个样本)。

  2. 然后,我需要使用VLOOKUP公式和目录数据来获取产品ID而不是SKU。 (我可以这样做。)

  3. 然后使用库存管理文件中“销售”选项卡中的复制数据,将相应的行从数据库文件/工作表中移出到“已售出物料”表。

  4. 关于具体细节的一些想法:

    我想确保所有数量都合适。 (例如,如果我们购买了两件商品而且只有一件已售出 - 将数据库表中的数量从两件减少到一件。)(例如2如果我们以两种不同的价格购买了两件不同的商品并且两件都是一件商品销售,我想确保两个行都移出数据库。)

    如果您对确保数量正确有任何想法,请与我们联系。也许我们需要将所有购买数量设置为一个,并为购买的每个购买多次购买多件商品X次。

    非常喜欢你如何跨过这座桥的输入!如果您想查看示例文件,请告诉我,我可以直接通过电子邮件发送给您!

    最诚挚的问候, Don Renollet

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是使用名为Movements

的工作表

然后你只有像

这样的条目行
A        B              C     D
---------------------------------------- 
prodID   Movement type  Qty   Date
123      Purchase       5     08/01/15
789      Sale           2     07/01/15
123      Return         1     06/01/15
456      Sale           1     05/01/15
789      Purchase       10    04/01/15
456      Purchase       5     03/01/15
123      Sale           2     03/01/15
123      Return         1     02/01/15
123      Sale           1     02/01/15
123      Purchase       10    01/01/15

然后在任何时候excel都可以使用sumifs或类似的

来计算库存中的数量
=SUMIFS(C:C,A:A,"123",B:B,"Purchase") - Sumif(C:C,A:A,"123",B:B,"Sale")) + Sumif(C:C,A:A,"123",B:B,"Return")) 

你永远不应该从这样的数据库中删除行,你总是可以每隔一段时间进行一次库存,并为每个项目重新启动数据库,但是将旧数据存储在其他地方。

如果可能,尽量不要将价格与数量混合,如果您需要管理价格,请考虑使用移动平均价格(MAP)