ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 见过这么长的公式吗

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-8-1 17:17 | 显示全部楼层 |阅读模式
  1. =SUM(CHOOSECOLS(LET(zz,LET(z,LET(x,IFS(H304="1#线",FILTER(直接查询,(直接查询[[ 产线]]="中试线焊接热封")+(直接查询[[ 产线]]="1号COS焊接热封")),OR(H304="2#线",H304="3#线"),FILTER(直接查询,(直接查询[[ 产线]]="3号COS焊接热封")+(直接查询[[ 产线]]="2号COS焊接热封"))),y,IFS(H304="1#线",FILTER('模具需求-新增生产计划时刷新'!$I$6:$I$1003,'模具需求-新增生产计划时刷新'!$J$6:$J$1003=E304,""),OR(H304="2#线",H304="3#线"),FILTER('模具需求-新增生产计划时刷新'!$O$6:$O$1003,'模具需求-新增生产计划时刷新'!$P$6:$P$1003=E304,"")),FILTER(x,IF(ISNUMBER(XLOOKUP(CHOOSECOLS(x,3),y,y,0)),0,1))),jz,IFERROR(TAKE(CHOOSECOLS(LET(tt,IFS(AND(OR(H304="2#线",H304="3#线"),AND(L304<>"报废",L304<>"外协涂层")),FILTER(入库明细!$D$10:$L$10000,(入库明细!$H$10:$H$10000="2#线")+(入库明细!$H$10:$H$10000="3#线")),AND(H304="1#线",AND(L304<>"报废",L304<>"外协涂层")),FILTER(入库明细!$D$10:$L$10000,入库明细!$H$10:$H$10000="1#线")),FILTER(tt,(CHOOSECOLS(tt,1)>=D304)*(CHOOSECOLS(tt,9)<>"涂层回司")*(CHOOSECOLS(tt,2)&CHOOSECOLS(tt,3)=E304&F304))),1),1),0),ck,IFERROR(LET(qq,IF(OR(H304="2#线",H304="3#线"),FILTER($D$10:$H$10000,(($H$10:$H$10000="2#线")+($H$10:$H$10000="3#线"))*($L$10:$L$10000<>"报废")*($L$10:$L$10000<>"外协涂层")),FILTER($F$10:$F$10000,($H$10:$H$10000="1#线")*($L$10:$L$10000<>"报废")*($L$10:$L$10000<>"外协涂层"))),FILTER(qq,(CHOOSECOLS(qq,1)>=D304)*(CHOOSECOLS(qq,1)<=jz)*(CHOOSECOLS(qq,2)=E304)*(LEFT(CHOOSECOLS(qq,3),2)<>LEFT(F304,2)))),""),rk,IFERROR(LET(mm,IF(OR(H304="2#线",H304="3#线"),FILTER(入库明细!$D$10:$H$10000,(入库明细!$H$10:$H$10000="2#线")+(入库明细!$H$10:$H$10000="3#线")),FILTER(入库明细!$F$10:$F$10000,入库明细!$H$10:$H$10000="1#线")),FILTER(mm,(CHOOSECOLS(mm,1)>=D304)*(CHOOSECOLS(mm,1)<=jz)*(CHOOSECOLS(mm,2)=E304)*(LEFT(CHOOSECOLS(mm,3),2)<>LEFT(F304,2)))),""),IFS(AND(ck="",rk=""),FILTER(z,(CHOOSECOLS(z,2)>=D304)*(CHOOSECOLS(z,2)<=jz)),AND(ck<>"",rk<>"",TAKE(CHOOSECOLS(ck,1),1)<TAKE(CHOOSECOLS(rk,1),1)),IFNA(VSTACK(IFERROR(FILTER(z,(CHOOSECOLS(z,2)<TAKE(CHOOSECOLS(ck,1),1))*(CHOOSECOLS(z,2)>=D304)*(LEFT(CHOOSECOLS(z,1),1)=(LEFT(TAKE(CHOOSECOLS(ck,5),1),1)))),""),IFERROR(FILTER(z,(CHOOSECOLS(z,2)<=jz)*(LEFT(CHOOSECOLS(z,1),1)=(LEFT(TAKE(CHOOSECOLS(rk,5),1),1))))*(CHOOSECOLS(z,2)>TAKE(CHOOSECOLS(rk,1),1)),""),FILTER(z,(CHOOSECOLS(z,2)>=D304)*(CHOOSECOLS(z,2)<=jz)*(LEFT(CHOOSECOLS(z,1),1)=LET(a,LEFT(TAKE(CHOOSECOLS(ck,5),1),1),IFS(a="2","3",a="3","2"))),"无")),""),AND(ck<>"",rk<>"",TAKE(CHOOSECOLS(ck,1),1)>TAKE(CHOOSECOLS(rk,1),1)),FILTER(z,(CHOOSECOLS(z,2)>=D304)*(CHOOSECOLS(z,2)<=jz)*(LEFT(CHOOSECOLS(z,1),1)=LEFT(H304,1))),AND(ck<>"",rk=""),IFNA(VSTACK(IFERROR(FILTER(z,(CHOOSECOLS(z,2)>=D304)*(LEFT(CHOOSECOLS(z,1),1)=(IF(LEFT(H304,1)="2","3","2")))*(CHOOSECOLS(z,2)<TAKE(CHOOSECOLS(ck,1),1))),""),FILTER(z,(CHOOSECOLS(z,2)>=D304)*(CHOOSECOLS(z,2)<=jz)*(LEFT(CHOOSECOLS(z,1),1)=LEFT(H304,1)))),""),AND(ck="",rk<>""),IFNA(VSTACK(IFERROR(FILTER(z,(CHOOSECOLS(z,2)<=jz)*(LEFT(CHOOSECOLS(z,1),1)=(IF(LEFT(H304,1)="2","3","2")))*(CHOOSECOLS(z,2)>TAKE(CHOOSECOLS(rk,1),1))),""),FILTER(z,(CHOOSECOLS(z,2)>=D304)*(CHOOSECOLS(z,2)<=jz)*(LEFT(CHOOSECOLS(z,1),1)=LEFT(H304,1)))),""))),IF(OR(ISNUMBER(FIND("、",LET(a,CHOOSECOLS(zz,2),b,CHOOSECOLS(zz,1),SCAN("",UNIQUE(a),LAMBDA(x,y,TEXTJOIN("、",TRUE,UNIQUE(IF(a=y,b,""))))))))),FILTER(zz,LEFT(CHOOSECOLS(zz,1),1)=(LEFT(H304,1))),zz)),4))
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-1 17:19 | 显示全部楼层
自己写的格式,有什么办法可以缩短吗,模具仓库的管理表格,根据出入库时间及生产计划来计算每个模具的使用次数

TA的精华主题

TA的得分主题

发表于 2024-8-1 18:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
PMC的话,至少应该用VBA来处理数据,数据量大,公式卡

TA的精华主题

TA的得分主题

发表于 2024-8-1 18:31 来自手机 | 显示全部楼层
这要是出一点点错误,排除系数不是一般的难啊
还是脚本处理比较好,原来我推荐vba
现在更推荐python

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-1 19:05 | 显示全部楼层
wp231957 发表于 2024-8-1 18:31
这要是出一点点错误,排除系数不是一般的难啊
还是脚本处理比较好,原来我推荐vba
现在更推荐python

python不会啊,目前正在学VBA

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-1 19:06 | 显示全部楼层
wp231957 发表于 2024-8-1 18:31
这要是出一点点错误,排除系数不是一般的难啊
还是脚本处理比较好,原来我推荐vba
现在更推荐python

是的,调整起来比较麻烦,添加条件的时候到处找

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-1 19:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ww87725244 发表于 2024-8-1 18:10
PMC的话,至少应该用VBA来处理数据,数据量大,公式卡

目前正在学VBA,目前我这个公式可以用,大概上百条记录,只有一条出错了,可能和我们目前的场景比较简单有关,我们目前4条线,至于2#和3#线有些模具是通用的。这个公式就是在一个模具同一天即在2#线生产又在3#线生产,这种情况这个公式会算错,其余的记录都是对的,我实在是不知道怎么改了

TA的精华主题

TA的得分主题

发表于 2024-8-1 20:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你这个公式虽然长,但是如果不会卡就行了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-1 21:38 | 显示全部楼层
wanghui834 发表于 2024-8-1 19:10
目前正在学VBA,目前我这个公式可以用,大概上百条记录,只有一条出错了,可能和我们目前的场景比较简单 ...

一个模具可能生产几个到20种产品,计划中都是产品名

TA的精华主题

TA的得分主题

发表于 2024-8-2 06:44 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wanghui834 发表于 2024-8-1 21:38
一个模具可能生产几个到20种产品,计划中都是产品名

方便把原始数据放出来吗,狠好奇,这么长的公式,究竟是怎么样的需求
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-21 15:41 , Processed in 0.037660 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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