Excel Power Query如何保留匹配行及其上方行且不打乱原有排序
Power Query 实现匹配出库订单及对应付款订单操作方案
完全可以实现,操作步骤如下:
前置准备
- 将「Today's OUTS(今日出库)」工作表的出库订单编号导入Power Query,去重后保存为独立查询,命名为
今日出库名单,仅保留订单编号列即可 - 导入纯文本出入订单数据到Power Query,全程不改动原始排序,首先添加从1开始的整数索引列,用于后续保留原始顺序和定位上下行关系
核心处理流程
- 给导入的出入订单数据新增自定义列,判断当前行是否为需要匹配的今日出库订单,公式参考(列名根据实际字段调整):
= List.Contains(今日出库名单[出库订单编号], [订单编号]) and [订单类型] = "OUT" - 筛选该自定义列值为
True的行,提取这些行的索引值生成列表,命名为匹配出库索引 - 回到原始出入订单数据查询,新增自定义列判断当前行是否需要保留:
= List.Contains(匹配出库索引, [索引]) or List.Contains(匹配出库索引, [索引]+1)
逻辑说明:如果当前行索引在
匹配出库索引中,说明是目标出库订单;如果当前行索引+1在匹配出库索引中,说明是对应出库订单的上一行付款订单,两类行均保留
- 筛选该自定义列值为
True的行,删除所有辅助列,按索引列升序排序即可还原原始数据顺序
结果输出
将最终处理后的查询直接加载到新工作表即可,输出内容仅包含目标出库订单和对应的关联付款订单,完全不打乱原始排序。
内容的提问来源于stack exchange,提问作者Luna
相关产品推荐
相关产品推荐

