Excel 公式用于限定各个行中变量的匹配行组

问题描述 投票:0回答:1

我有一个 Excel 工作簿,其中包含大约 300 万个行项目,其中要求我查找有多少笔交易(可以由其中几个行项目组成,并由唯一的交易 ID 指定/分组)至少有一个订单项被拒绝(状态代码“D”)并且该订单项的付款金额为 0。

令我困惑的部分是如何让 Excel 考虑事务 ID 并根据该分组给出结果。例如,如下表所示:

交易ID 行项目 ID 状态 付款金额
123 1231 A 50
123 1232 A 75
123 1233 A 325
123 1234 D 0
123 1235 D 0
456 4561 A 25
456 4562 A 125
456 4563 A 450
456 4564 A 150
789 7891 D 0
789 7892 D 0
789 7893 D 0
789 7894 A 50
789 7895 A 75
789 7896 A 250

我正在尝试提出一个公式,该公式能够确定有 2 笔交易被拒绝(123 和 789)和 1 笔交易没有被拒绝(456)。最终我希望能够用它来计算拒绝交易的比率。

我一直在使用 COUNTIFS 公式来生成行项目级总计,到目前为止效果很好,但我不确定如何添加任何逻辑来分组或选择仅一列或类似的不同值。我能找到的最接近的是 1/COUNTIF 来查找唯一值的总数,但这并不是我所需要的。

excel excel-formula excel-2010
1个回答
0
投票

我认为在 Excel 2010 中执行此操作的最简单方法是使用几个辅助列来简化公式,并在需要时更轻松地筛选数据。

enter image description here

Helper
列标识定义为“已拒绝”的行项目:

=IF(AND(C2="D", D2=0), 1, 0)

下一列根据上一列标识每笔交易至少有一个被拒绝的行项目:

=IF(SUMIFS($E$2:$E$1000, $A$2:$A$1000, A2) > 0, 1, 0)

最后是被拒绝交易的计数(如果使用数组公式计算):

=SUM(IF(FREQUENCY(IF(F2:F1000=1, MATCH(A2:A1000, A2:A1000, 0)), ROW(A2:A1000)-ROW(A2)+1), 1))
© www.soinside.com 2019 - 2024. All rights reserved.