ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 匹配:一个单元格内的人每个人提取出来,及后续的信息匹配

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-30 22:05 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 安先生_你好 于 2024-5-30 22:10 编辑

各位大佬,好:

  • 小弟有个小想法,不知道咋实现,特来求援。
  • 求参与人的会议信息汇总,分为2种情况:
  • 参与人手动填写,然后后续匹配参与人的各种信息;
  • 参与人用公式去重提写出来,然后后续匹配参与人的各种信息;


  • 现在难点对我的是:不是1V1准确匹配,是一堆里面提取一个人,然后根据一个人的信息进行匹配。
  • 详情和模拟结果如附件,有空查看。(我的office好像没新公式...各位见谅)


还请各位有空支援,无空的工作时刻快乐一点,hohohoho



补充内容 (2024-6-7 17:18):

大胆再回复下,达到第一个效果:
手动输入小A,匹配相关会议的名称和其它信息。
我的office是19,没新函数…
这个是不是可以理解为:关键字去重匹配信息

副本工作簿1.zip

7.24 KB, 下载次数: 27

TA的精华主题

TA的得分主题

发表于 2024-5-31 08:22 | 显示全部楼层
=UNIQUE(DROP(TEXTSPLIT(CONCAT(REGEXP(CONCAT($D$2:$D$4),"(?<=总部).+")),,{":","、"}),1),FALSE)
=ARRAYTOTEXT(FILTER(CHOOSECOLS(HSTACK(A$2:A$4,$C$2:$C$4),COLUMN(A1)),MAP($D$2:$D$4,LAMBDA(x,REGEXP(x,$F2,1)))))

image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-31 08:32 | 显示全部楼层
我的城市你来过 发表于 2024-5-31 08:22
=UNIQUE(DROP(TEXTSPLIT(CONCAT(REGEXP(CONCAT($D$2:$D$4),"(?

我好像没这些函数。。。

TA的精华主题

TA的得分主题

发表于 2024-5-31 09:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
借楼用 PQ 练个手。。。。。。。。。。。。。。。


是这个效果吗?



捕获.PNG
捕获2.PNG

TA的精华主题

TA的得分主题

发表于 2024-5-31 09:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
借用2楼公式,拉个火车,需要WPS最新版。如果不支持新函数,一是升级版本,二是采用VBA。
No.1:
  1. =LET(name,UNIQUE(DROP(TEXTSPLIT(CONCAT(REGEXP(CONCAT($D$2:$D$5),"(?<=总部).+")),,{":","、"}),1),FALSE),re,REDUCE(F1:I1,name,LAMBDA(x,y,VSTACK(x,IFNA(HSTACK(y,DROP(REDUCE(G1:I1,A2:A5,LAMBDA(m,n,VSTACK(m,IF(ISNUMBER(FIND(y,OFFSET(n,,3))),HSTACK(n,OFFSET(n,,2),OFFSET(n,,1))),""))),1)),"")))),res,FILTER(re,TAKE(re,,-1)<>""),res)
复制代码


NO.2:
  1. =LET(name,UNIQUE(DROP(TEXTSPLIT(CONCAT(REGEXP(CONCAT($D$2:$D$5),"(?<=总部).+")),,{":","、"}),1),FALSE),re,REDUCE(F1:I1,name,LAMBDA(x,y,VSTACK(x,IFNA(HSTACK(y,DROP(REDUCE(G1:I1,A2:A5,LAMBDA(m,n,VSTACK(m,IF(ISNUMBER(FIND(y,OFFSET(n,,3))),HSTACK(n,OFFSET(n,,2),OFFSET(n,,1))),""))),1)),y)))),res,FILTER(re,(CHOOSECOLS(re,2)<>"")*(CHOOSECOLS(re,2)<>FALSE)),res)
复制代码

微信图片_20240531094028.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-31 11:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先谢谢各位。
如果不求参会人公式自动去重填写,手写参与人用什么公式可以匹配后续的信息。
例如小A我手写上去,后匹配小A的会议/时间/地点

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-31 11:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
先谢谢各位的回复。
如果我手动填写参会人,不用公式自动去重填写了,用什么公式可以匹配出他后续的相应信息。

TA的精华主题

TA的得分主题

发表于 2024-5-31 11:52 | 显示全部楼层
安先生_你好 发表于 2024-5-31 11:04
先谢谢各位。
如果不求参会人公式自动去重填写,手写参与人用什么公式可以匹配后续的信息。
例如小A我手 ...

假设姓名“小A”在F2,
  1. =LET(name,F2,re,REDUCE({"姓名","会议","时间","地点"},name,LAMBDA(x,y,VSTACK(x,IFNA(HSTACK(y,DROP(REDUCE({"会议","时间","地点"},A2:A5,LAMBDA(m,n,VSTACK(m,IF(ISNUMBER(FIND(y,OFFSET(n,,3))),HSTACK(n,OFFSET(n,,2),OFFSET(n,,1))),""))),1)),"")))),res,FILTER(re,TAKE(re,,-1)<>""),res)
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-31 14:36 | 显示全部楼层
谢谢 edwin11891 的解答。
由于目前还没新版本的excel,试了这个目前还用不了,这个不影响感谢。

TA的精华主题

TA的得分主题

发表于 2024-5-31 14:45 | 显示全部楼层
Python+Pandas:

import pandas as pd

df = pd.read_excel('Sample260.xlsx', usecols='a:d')
df['参与人'] = df['参与人'].str.replace(r'(总部:)|\n', '', regex=True).str.replace(r'大区:', '、').str.split('、')
df['日期'] = df['时间'].str.extract(r'(\d{4}年\d{1,2}月\d{1,2}日)')
df.drop('时间', axis=1, inplace=True)
df = df.explode('参与人', True).iloc[:,[2,0,3,1]]
df = df.drop_duplicates().sort_values(by=['参与人', '会议', '日期', '地点']).reset_index(drop=True)
print(df.head(10))
image.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 15:58 , Processed in 0.041293 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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