Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

根据记录合计值,(倒推)筛选保留记录明细。

琪琪牛叉叉  发表于:2018-08-02 09:36:18  
复制

点击下载此附件









表1有若干不同人员的记录(人员ID,时间,金额)

表1是所有人员借钱还钱的记录,金额正数是表示借钱,负数时表示还钱。当还钱时(金额为负数时),需要将最近的借款先冲掉。如果出现还钱大于借钱的情况,将借款全部冲掉后,剩余金额(负数)显示。


按人员ID判断(将同一个人的记录合并在一起看):

情况①

如果表1是(人员001合计金额为1100):

人员ID,时间,金额

001 2018/1/1 1000

001 2018/1/2  100

输出结果是:(没有变化)


人员ID,时间,金额

001 2018/1/1 1000

001 2018/1/2  100




情况②

如果表1是(人员001合计金额为900):

人员ID,时间,金额

001 2018/1/1 1000

001 2018/1/2 -100

输出结果是:(时间晚的记录被抹去了,时间早的记录金额变成900)

人员ID,时间,金额

001 2018/1/1 900



情况③

如果表1是(人员001合计金额为-100):

人员ID,时间,金额

001 2018/1/1  1000

001 2018/1/2  -1100

输出结果是:(时间早的记录被抹去了,时间晚的记录金额变成了-100)

人员ID,时间,金额

001 2018/1/2  -100


情况④

如果表1是(人员001合计金额为-900):

人员ID,时间,金额

001 2018/1/1 -1000

001 2018/1/2  100

输出结果是:(时间晚的记录被抹去了,时间早的记录金额变成-900)

人员ID,时间,金额

001 2018/1/1 -900



情况⑤

如果表1是(人员001合计金额为-1100):

人员ID,时间,金额

001 2018/1/1 -1000

001 2018/1/2  -100

输出结果是:(没有变化)

人员ID,时间,金额


001 2018/1/1 -1000

001 2018/1/2  -100

 

Top
茼蒿 发表于:2018-08-02 14:44:03

原始表数据

最终显示效果

点击下载此附件



伊西军 发表于:2018-08-02 15:13:39
emmm 可以考虑使用vba代码 然后 将计算得到的数据追加到表中

总记录:2篇  页次:1/1 9 1 :