Excel-生成双向对的总计

Excel-生成双向对的总计

我的数据中有成对的...AB 等于 BA。所以如果我的表格是

AB 20
BD 20
CF 10
EF 10
GH 15
BA 10
FE 20

我正在寻找一种方法来总结这些数据,这样我就能知道

BD 20
CF 10
GH 15
阿巴 30
埃菲 30

只要我知道 A 和 B 的总数以及 E 和 F 的总数,ABBA 和 EFFE 就不重要。

答案1

我假设您说的是往返旅行费用,由于单行道、过路费、海拔、时区、风和/或水流等原因,各个航段的费用不等。这并不影响答案;它只是有助于理解问题。

我还假设您的数据如图所示,在列中有“ A-B”、“ B-D”等, A在列中有相应的数值(成本)  B (并且所有其他列都可用)。

将单元格设置C1=FIND("-", A1)。(当然,如果您的数据从 行 下方开始1,请相应地向下调整行号。)这将找到单向路线指示符中的连字符。请参阅下面的注释。

将单元格设置D1=RIGHT(A1, LEN(A1)-C1) & "-" & LEFT(A1, C1-1)。这将生成反向路线;例如,如果A1为“ A-B”,D1则将计算为“ B-A”。  笔记:如果你的列A数据确实全部是以下形式(单个字母) (连字符) (单个字母),那么C将始终为 2,LEN(A1)将始终为 3,并且您可以简化D1=RIGHT(A1, 1) & "-" & LEFT(A1, 1)

将单元格设置E1=IF(A1<D1, A1 & "-" & D1, D1 & "-" & A1)。这将生成往返路线;例如,E1将计算为“ A-B-B-A”。请参阅下面的注释。

将列中的公式向下拖动/填充CE覆盖所有数据。  笔记:列 E包含已排序往返航线,因此E6也包含“ A-B-B-A”(而不是“ B-A-A-B”)。

按列排序 E。(您可能想先复制数据;例如,复制到另一个工作表。)如果数据上方还没有空白行,则插入一个空白行。

现在将 设置F2=IF(E2=E3, "", IF(E1=E2, E2, A2))G2设置为=IF(E1=E2, G1+B2, B2)。向下拖动/填充以覆盖所有数据。您的工作表应如下所示:

                                科勒斯公司

按列进行过滤F,并滤除空白:

                                                                                        仅限 F 和 G 列,已过滤

这不会验证您的数据。如果您有多行显示“ P-Q”,此解决方案将简单地将它们全部相加,并将总和报告为“ P-Q-Q-P”的总数。

如果您想先对单程路线进行排序,然后再对往返路线进行排序,则可以添加该功能。

相关内容