在 Google Sheets 中寻求帮助:制定具有多个标识符(订单号)和密钥(发票号)的利润计算函数

问题描述 投票:0回答:1
发票号码 信用
A001 290
B001 210
C001 350
A001 250
B001/C001 210
A001 220
订单号 借记 利润
A001 300 10
C001 320 -30
B001/A001 450 -10
A001/B001/C001 490 60

我在 Excel 中有两套财务记录,一套是贷方交易,包含发票编号和相应金额,另一套是借方交易,包含订单号、借方金额和利润。我使用以下公式通过匹配订单号和发票号来计算利润:

=SUM(IFERROR(INDEX(VLOOKUP(SPLIT(C3,"/"), K:O, 5, FALSE), 0))) -G3 

当订单号和发票号不唯一且可能重复出现,以及某些订单号由多个发票号组成时,此公式效果很好。但是,当某些数据同时包含多个发票号时,我面临着挑战。在这些情况下,当前公式不能完全解决该问题。我正在寻求有关如何修改公式以处理多个发票编号与订单编号合并在一起的情况的指导。利润的计算方法是从与发票编号和订单编号相同的借方金额中减去贷方金额,并具有相同的序列号外观。

https://docs.google.com/spreadsheets/d/1-MjTf_Ix_-imrbFNqXEG_5RQgQnuDJgPb7CjgKSCu8E/edit?usp=sharing

excel google-sheets google-sheets-formula spreadsheet array-formulas
1个回答
0
投票

问题:

您有两个数据集:一个用于订单号(“DEBITPROFITA”),另一个用于发票号(“CREDITA”)。 两个数据集都具有同一订单或发票的重复条目,可能具有不同的金额。 您想要计算每个条目的利润,同时考虑重复订单和合并发票。 您的职能:

它使用 IFERROR(INDEX(VLOOKUP(SPLIT(C3,"/"), K:O, 5, FALSE), 0)) 根据订单号从“DEBITPROFITA”数据中提取相应的金额(从单元格中拆分) C3 通过“/”)。 然后,它减去与条目相关的成本(可能存储在单元格 G3 中)来计算利润。 挑战:

该函数依赖于条目的顺序来识别重复发生的情况,这可能并不在所有情况下都可靠。 它不能有效地处理合并发票。 可能的解决方案:

唯一标识符:考虑向两个数据集中的每个条目添加唯一标识符(例如产品 ID),而不是依赖顺序。这将允许准确识别重复发生并简化查找过程。

哈希表方法:以订单号为键、金额为值构建哈希表。这将允许有效地查找任何给定订单的金额,无论其顺序或与其他发票的组合如何。

合并发票专用函数:创建一个单独的函数来处理合并发票。此函数可以迭代单个订单中的拆分发票编号,并根据单个发票金额计算总成本。

其他建议:

清楚地记录您的功能,解释所使用的逻辑和假设。 使用错误处理来妥善处理值丢失或无效的情况。 考虑使用各种边缘情况测试您的函数以确保准确性。 通过应对挑战并实施建议的解决方案,您应该能够实现更强大、更可靠的功能,用于根据重复订单和组合订单数据计算利润。

希望这个分析能帮助你进一步完善你的功能并达到预期的结果。请记住,如果您需要进一步帮助,请随时提供有关您的数据或具体挑战的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.