ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 数据组合问题,请帮忙在标黄的地方设计下公式谢谢。

[复制链接]

TA的精华主题

TA的得分主题

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

image.jpg

如图所示,是我模拟的目前我在工作中需要整理发给领导的一个表格
一开始表格数据量小,手动做起来也没啥 但现在数据越来越多 我已经开始吃不消了
请各位表格达人帮忙在标黄的E列和F列设计一下公式
具体的需求是这样的:
一、当客户不是“张三有限公司”和“孙七有限公司”时
A列不同的单据编号在E列就只保留一个 下面空着
例如:单元格B13,李四有限公司 因为对应的客户不是“张三有限公司”和“孙七有限公司” XS202411250006W有6行,所以在E列的E13单元格就只保留一行XS202411250006W 然后E14—E18为空
F列其实就是D列和E列的组合,也是只保留一行 下面空着
例如:单元格F13,就是 E13+空格+D13+,+D16+...(以此类推省略)...+,+D18   然后从F14—F18为空。需要注意的是当A列同一个单据编号下C列的物料编号重复出现时,D列的批号效期 只在第一个物料编号出现时有数据 其他重复的物料编号对应的批号效期 为空。D列里的单元格为空时则不取值,有数据则取值,像D14、D15是空值,在取值的时候就跳过  D16有数据则组合数据的时候就带上。

二、当客户是“张三有限公司”和“孙七有限公司”时
E列的单据编号就在A列的基础上增加一个“-1.-2.-3.-4......-n”
例如:单元格B26至B32 因为对应的客户是“孙七有限公司” 所以E26就在A26的基础上增加一个“-1”变成XS202411250013W-1
E27就在A27的基础上增加一个“-2”变成XS202411250013W-2 依此类推一直到E31 。
F列依然是D列和E列的组合
例如:单元格F26 就是按照 E26+空格+D26的组合规则 下面依次类推
需要注意的是(和上面类似),当A列同一个单据编号下C列的物料编号重复出现时,D列的批号效期 只在第一个物料编号出现时有数据 其他重复的物料编号对应的批号效期 为空。在组合数据的时候 D列为空时 不管是E列还是F列, 对应的也为空。

考虑到像“张三有限公司”和“孙七有限公司”这样的情况,虽然少目前就这俩家,但是后面可能还会有新的公司会这样 所以请在设计公式的时候考虑以后有新增公司的因素,可以在以后能维护公式。


以上就是目前我在工作中遇到的表格难题,请各位表格达人帮忙在标黄的E列和F列设计一下公式 不胜感激,好人一生平安。

附件12.15.zip (7.78 KB, 下载次数: 9)

TA的精华主题

TA的得分主题

发表于 2024-12-16 08:05 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-12-16 08:24 | 显示全部楼层
E3
=IF((B2<>"张三有限公司")*(B2<>"孙七有限公司"),IF(COUNTIF($A$2:A2,A2)>1,"",A2),IF(D2<>"",A2&"-"&COUNTIFS($A$2:A2,A2,$D$2:D2,"<>"),""))

F3
=IF(E2="","",IF((B2<>"张三有限公司")*(B2<>"孙七有限公司"),E2&" "&TEXTJOIN(",",1,IF($A$2:$A$32=E2,$D$2:$D$32,"")),E2&" "&D2))

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-16 08:40 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-16 09:20 | 显示全部楼层
loirol 发表于 2024-12-16 08:24
E3
=IF((B2"张三有限公司")*(B2"孙七有限公司"),IF(COUNTIF($A$2:A2,A2)>1,"",A2),IF(D2"",A2&"-"&COUNTIF ...

image.png

你好E列的公式能够实现

F列的公式粘贴后 有“0” 在中间夹着,能帮忙在优化一下吗?感谢感谢

TA的精华主题

TA的得分主题

发表于 2024-12-16 09:40 | 显示全部楼层
wrnmdd 发表于 2024-12-16 09:20
你好E列的公式能够实现

F列的公式粘贴后 有“0” 在中间夹着,能帮忙在优化一下吗?感谢感谢

=IF(E2="","",IF((B2<>"张三有限公司")*(B2<>"孙七有限公司"),E2&" "&TEXTJOIN(",",,FILTER($D$2:$D$32,($D$2:$D$32<>"")*($A$2:$A$32=E2))),E2&" "&D2))

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-16 10:20 | 显示全部楼层
loirol 发表于 2024-12-16 09:40
=IF(E2="","",IF((B2"张三有限公司")*(B2"孙七有限公司"),E2&" "&TEXTJOIN(",",,FILTER($D$2:$D$32,($D$2 ...

太棒了 可以了 可以了!好人一生平安,非常的感谢您 祝你财源广进 身体健康 干啥都顺风顺水。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 15:43 , Processed in 0.047683 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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