ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] lookup和find函数嵌套的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:32 | 显示全部楼层 |阅读模式
各位大神、高手:

如附件表1 ,ABEF四列,A列为数据源,B列为匹配源,最终实现E列的效果,F列是我自己写的公式,没有达到预期效果。E列最终效果简单来讲就是返回A列对应单元格中从右往左在B列中存在的数据,如果从右往左没有一个匹配上的,则返回空值。
find.png
请指教,在线等,感激不尽

问题数据.rar

7.1 KB, 下载次数: 61

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:37 | 显示全部楼层
出现两个以上人名,是显示右边第一个人名?

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:53 | 显示全部楼层
  1. =SUBSTITUTE(INDEX(B:B,MOD(MAX(IFERROR(FIND(B$2:B$10,A2)/1%+ROW($2:$10),)),100)),"匹配值",)
复制代码

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:56 | 显示全部楼层
你的意思可能是
  1. =VLOOKUP(TRIM(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),99)),$B$2:$B$10,1,)
复制代码
下拉

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-19 23:10 | 显示全部楼层

其实 老师的公式可以简化为这样也可以
  1. =MID(A2,MAX(IFERROR(FIND(B$2:B$10,A2),)),9)  数组
复制代码

TA的精华主题

TA的得分主题

发表于 2018-7-19 23:10 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-19 23:11 | 显示全部楼层
cjc209 发表于 2018-7-19 22:57
也就是拿最右边的那个人去匹配

最右边匹配不到,就右数第二个匹配,然后第三个,直到匹配上或匹配不到;匹配到就取靠右的人名

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-20 08:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
cjc209 发表于 2018-7-19 22:56
你的意思可能是 下拉

老师的公式基本实现了我的要求,但如果A列某条记录最右边的名字不在B列的名单中,则自动往左移一个名字,再去匹配,如此循环,直到匹配到为止,如果A列该条记录从右往左没有一条匹配的上的话,则显示匹配不上。该如何修改公式呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-20 08:58 | 显示全部楼层
cjc209 发表于 2018-7-19 22:57
也就是拿最右边的那个人去匹配

不是的,是优先以最右边的人去匹配,如果匹配不到则选最右边往左移一个人的名字再去匹配,如此循环,直到匹配到为止
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 23:23 , Processed in 0.046106 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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