新手请教关于表内同类数据逐次抵消的解决方法

Power Query susu ⋅ 于 2019-03-10 19:22:51 ⋅ 最后回复由 libo5563 2019-04-26 11:33:20 ⋅ 2841 阅读

问题:file,请教各位老师,如图,表内有4列数据,甲、乙列为文本类数据,戊列为日期类数据,丙列为数据,要求,若甲乙两列数据同时相等,对丙列数据正负数逐次抵消,先抵绝对值相等的,再按时间顺序从时间最近的负数抵消时间最前的正数,得到的结果参与下次抵消,直至同类保留一行数据,如图file。请问如何处理,谢谢!

回复数量: 7
  • klzb
    2019-03-11 13:14:09

    可以把两列合并,分组,然后增加一列求累计数,筛选累计数大于0的行,应该可以满足你的需求

  • susu
    2019-03-11 13:27:16

    @klzb 这样并不能达到行次之间抵消运算的效果啊,最终想要的结果是表结构不变,所有字段保留。若是分组求和之后,日期字段就没有了

  • Alex MOD 社区清洁工
    2019-03-11 15:36:57

    第一步肯定是先按照甲乙两列分组,但后面如何抵消的过程看得不是很清楚,能否把抵消顺序再描述清楚一些,或者提供多一些具有代表性的sample?

  • susu
    2019-03-11 19:46:40

    @Alex 不好意思,之前没表述清楚。抵消的逻辑就是2点,1.先抵消同类绝对值相等的正负数,如图中丙列±3,2.从最小的负数开始按时间先后抵消,如图2019年的-60抵2017年的55,得到的结果2019年变为-5,然后-5成为最小的负数抵上面的2018年的9,运算得到结果2018年变为4,如此循环抵消至同类没有负数或正数不足抵消为止。

  • eXcellent
    2019-03-28 17:24:11

    @susu
    是不是每次都选一个最小的数 与 最晚的 数相加?

  • eXcellent
    2019-03-28 17:26:19

    @susu
    是不是每次都选一个最小的数 与 时间最早的 数相加?

  • libo5563
    2019-04-26 11:33:20

    甲乙列合并,然后复制一个查询,第一个查询按合并列排序,然后分组,选求和, 第2个查询将丙列删除,在戊列里筛选要保留的数据,最后合并2个查询

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter