ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2493|回复: 11

[求助] 请教大神关于先进先出的倒推问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-6-5 14:31 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 Dongyan 于 2017-6-6 15:43 编辑

表一 (期末库存),表二 (入库记录)
想得到表三 (期末库存对应的可能入库记录)

如:

2017520日,存货A01的库存为500,希望系统生成出库单,得到如下入库单:
从最后的入库记录倒推满500为止,也就是30035日)+20033日)=500.
如果A01的库存为400,就是
30035日)+10033日)=400.

谢谢大神 的指教!!

具体参见附件!
求大神指导!!!!

当前库存

当前库存

收货记录

收货记录

期望结果

期望结果

FIFO.rar

20.81 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2017-6-5 15:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-6-5 20:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 yeminqiang 于 2017-6-6 08:26 编辑

gggg.png

TA的精华主题

TA的得分主题

发表于 2017-6-5 23:30 | 显示全部楼层
没屏蔽系统提示执行删除会有系统提示!嗯代码中间有条记录还要加个判断自己加。
这样子做完全没意义............你放Excel还简单些! FIFO.rar (103.03 KB, 下载次数: 9)

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-6 10:01 | 显示全部楼层
as42065300 发表于 2017-6-5 23:30
没屏蔽系统提示执行删除会有系统提示!嗯代码中间有条记录还要加个判断自己加。
这样子做完全没意义...... ...

谢谢!同时也发了EXCEL的求助。希望有大神能帮忙给出建议!

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-6 15:44 | 显示全部楼层
本帖最后由 Dongyan 于 2017-6-6 15:47 编辑
as42065300 发表于 2017-6-5 23:30
没屏蔽系统提示执行删除会有系统提示!嗯代码中间有条记录还要加个判断自己加。
这样子做完全没意义...... ...

谢谢您的帮助! 我修改了一下需求,麻烦再抽空看一下!谢谢!

根据最新的收货记录往前推,直到收货数量等于当前库存。
存货A01的库存为500,希望如下信息:
从最后的入库记录倒推满500为止,也就是30035日)+20033日)=500.
如果明天A01的库存为400,就是
30035日)+10033日)=400.

谢谢大神 的指教!!



万分感谢!

TA的精华主题

TA的得分主题

发表于 2017-6-6 18:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
SELECT b.产品, b.收货日期, b.数量, b.当前库存, IIf([数量]>[可用数量],[可用数量],[数量]) AS 出货顺序
FROM (SELECT a.产品, a.收货日期, a.数量, 当前库存数.当前库存, iif(当前库存>Nz((select sum(数量) from 收货记录 where 产品=a.产品 and 收货日期>a.收货日期),0),当前库存-Nz((select sum(数量) from 收货记录 where 产品=a.产品 and 收货日期>a.收货日期),0),0) AS 可用数量
FROM 收货记录 AS a LEFT JOIN 当前库存数 ON a.产品 = 当前库存数.产品)  AS b;

FIFO.rar

29.65 KB, 下载次数: 15

TA的精华主题

TA的得分主题

发表于 2017-6-6 19:19 | 显示全部楼层
  1. SELECT *
  2. FROM (select id,产品,iif(数量=累计,库存,"") as 当前库存,收货日期,iif(累计<=库存,数量,数量-累计+库存) as 出货顺序 from
  3. (
  4. SELECT A.id, a.产品, a.收货日期, max(a.数量) AS 数量, sum(b.数量) AS 累计,max(当前库存) as 库存
  5. FROM
  6. (收货记录 AS a INNER JOIN 收货记录 AS b ON (B.id<=A.ID) AND (a.产品=b.产品))
  7. inner join
  8. 当前库存数 c
  9. on a.产品=c.产品
  10. GROUP BY a.ID, a.产品, a.收货日期
  11. ))
  12. WHERE 出货顺序>0;
复制代码

FIFO.zip (36.42 KB, 下载次数: 20)

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-7 09:39 | 显示全部楼层
marco 发表于 2017-6-6 18:52
SELECT b.产品, b.收货日期, b.数量, b.当前库存, IIf([数量]>[可用数量],[可用数量],[数量]) AS 出货顺序
...

谢谢!完美解决!
仰望的存在啊。。。

回去认证学习了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-7 09:40 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-24 03:13 , Processed in 0.049886 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表