ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 能否在excel实现判断一列中单元格部分字段相同然后把有相同关系的行排在一起

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-10-17 18:02 | 显示全部楼层 |阅读模式
原始数据类似如下,我编写了个例子来参考说明

主要是表1
image.png image.png
我想实现表1中有任意一个品牌相同的卖场就把他们排序在一起
image.png
增加一列放品牌的并集,或者增加一列用于标识这个卖场与其他卖场存在相同品牌

我思考不到实现的方式,想请教下大家有什么办法能实现这个效果,不限于只使用excel。
我想过把表1转换中间表,把多对多关系变成1对1的,但是数据量大,手工完成不了,而且单个卖场的品牌数量不固定。
因为不是搜索固定某个品牌,那样的话直接查询就好了。我是想让表格自动判断,然后展示全部。把有相同品牌的聚在一起。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-10-17 20:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
搜索了一圈,有点思路了。
用品牌的第一行数据带进变量里面向下一行进行取交集的运算,直接比较字符串不行,我其实是用;进行分隔的。如果是用VBA的话,我觉得应该是列表里面的元素(或者数组)进行取交集的运算,判断是否有其中一个元素是相同的,类似取交集不为空。然后就交集不为空的这行移动到最上方。然后再做次取并集的操作,将并集后的值带到变量里面。这样就等同于上面这两行了,再往下取寻找是否有交集不为空的,重复操作。递归到数据最后一行。如果没有就跳出,然后从开始的那一行往下一行,在把当前行内的值带进变量里面重复上面的操作。
这里需要用到VBA,或者excel外部用python,我看pq里面有类似取交集的函数。还得继续研究。
如果有什么特别的函数或者工具可以直接计算整列里面是否含相同的部分文本的话,应该比我这种算法实现性能要很多。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-2 23:51 , Processed in 0.037298 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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