ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 公式列出出货明细

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-1 22:49 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
用公式列出出货明细
1.jpg

出货明细.rar

7.27 KB, 下载次数: 39

TA的精华主题

TA的得分主题

发表于 2024-2-1 22:54 | 显示全部楼层
第一感觉应该是用规划求解,公式暂时没想到方法

TA的精华主题

TA的得分主题

发表于 2024-2-2 00:37 | 显示全部楼层
本帖最后由 alan57 于 2024-2-2 09:36 编辑
  1. =LET(_a,CONCAT(REPT(A2:A11&",",B2:B11)),_b,TEXTSPLIT(REDUCE(_a,SCAN(0,E2:E7,SUM)-SEQUENCE(ROWS(E2:E7))+1,LAMBDA(x,y,SUBSTITUTE(x,",","/",y))),,"/",1),BYROW(_b,LAMBDA(x,LET(_c,TEXTSPLIT(@x,,",",1),_d,UNIQUE(_c),_e,MAP(_d,LAMBDA(x,SUM(N(_c=x)))),TEXTJOIN({"-",","},,HSTACK(_d,_e))))))
复制代码

image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-2-2 03:39 | 显示全部楼层
  1. =LET(arrAB,OFFSET(A2,,,COUNT(B:B),2),arrE,OFFSET(E2,,,COUNT(E:E)),fn,LAMBDA(i,j,qtyRemain,qtyGot,LET(id,INDEX(arrAB,i,1),qty,IF(qtyRemain,qtyRemain,INDEX(arrAB,i,2)),qtyTarget,INDEX(arrE,j),qtyGot,qtyGot+qty,qtyRemain,IF(qtyGot>qtyTarget,qtyGot-qtyTarget,0),qtyCut,IF(qtyRemain,qty-qtyRemain,qty),str,id&"-"&qtyCut,newI,i+N(qtyRemain=0),newJ,j+N(qtyGot>=qtyTarget),finished,OR(newJ>ROWS(arrE),newI>ROWS(arrAB)),_qtyGot,IF(qtyGot>=qtyTarget,0,qtyGot),delimiter,IF(newJ>j,";",","),IF(finished,str,str&delimiter&fn(newI,newJ,qtyRemain,_qtyGot)))),TOCOL(TEXTSPLIT(fn(1,1,,),";")))
复制代码
image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-2-8 20:50 | 显示全部楼层
题目比较简单,我写的比较长,供参考哈
  1. =TEXTJOIN(",",1,IFERROR(A$2:A$11&-1/MMULT(-TEXT(E3-TEXT(SUMIF(OFFSET(B$1,,,ROW($1:$10)+{0,1}),">0")-SUM(E$1:E2),"[<]!0"),"[<]!0"),{-1;1})^-1,""))
复制代码

TA的精华主题

TA的得分主题

发表于 2024-2-8 20:58 | 显示全部楼层
DDB简化一下:呃,其实也没简化多少。。。
  1. =TEXTJOIN(",",1,IFERROR(A$2:A$11&-1/MMULT(-DDB(E2,DDB(SUMIF(OFFSET(B$1,,,ROW($1:$10)+{0,1}),">0"),SUM(E$1:E1),1,1),1,1),{-1;1})^-1,""))
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-16 15:46 , Processed in 0.049346 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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