网站首页 > 技术文章 正文
如果某个数据表中存在一对多匹配的情况,用 vlookup 通常只能查找出第一次匹配的结果,如果需要返回第 2 个匹配结果怎么实现?这个 2 可以是任意指定的次数。
案例:
下图中的 A、B 列是某公司员工的业绩表,这是一个累积的总表,每次有新的业绩出来,就顺序往下填写,先报先填。
如何查找出某人第 n 次申报的业绩?
解决方案 1:
1. 将 C 列设置为辅助列,在 C2 单元格输入以下公式 --> 下拉复制公式:
=COUNTIF(A$2:A2,A2)
公式释义:
- 统计相同的名字在列表中第几次出现
- 需要注意行号的绝对和相对引用
2. 在 G2 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 回车:
=VLOOKUP(E2&F2,IF({1,0},A:A&C:C,B:B),2,0)
公式释义:
- A:A&C:C:用 & 符号将 A、C 两列的值合并起来
- IF({1,0},A:A&C:C,B:B):将逻辑值 {1,0} 作为一组数组参与运算,从而扩充另一组数组 A:A&C:C,B:B,得到的结果为 {"赵铁锤1",353;"宋大莲1","134";...}
- vlookup(E2&F2...):将 E2 和 F2 单元格的数据合并起来,成为 "赵铁锤3",用 vlookup 函数在上述数组中查找并返回第二列的值
- 数组公式,需三键结束
以下就是查找结果。
解决方案 2:
1. 构造辅助列,公式见解决方案 1。
2. 在 G2 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 回车:
=INDEX(B2:B25,MATCH(E2&F2,A2:A25&C2:C25,0))
公式释义:
- E2&F2:合并 E2 和 F2 单元格的值
- A2:A25&C2:C25:合并 A2:A25 区域和 C2:C25 区域成一组数组
- match(...):将合并的单元格与数组中的结果匹配,并返回一个表示位置的数字
- index(B2:B25,...):将 B2:B25 区域中,对应位置的值返回为结果
- 这也是个数组公式,因此也要三键结束
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
- 上一篇: 从入门到提高一一函数定义域
- 下一篇: LOOKUP中0,1是什么鬼,困扰我多年的疑惑,这课讲明白了
猜你喜欢
- 2025-01-18 弱类型语言的php对于 0 、"0"、"000" 、"00" 判断与处理问题
- 2025-01-18 word中公式输入方法
- 2025-01-18 VLOOKUP函数之另类用法,让领导对你刮目相看
- 2025-01-18 LOOKUP中0,1是什么鬼,困扰我多年的疑惑,这课讲明白了
- 2025-01-18 从入门到提高一一函数定义域
- 2025-01-18 C语言return 0一定要有吗?
- 2025-01-18 什么是0℃恒温器?
- 2025-01-18 VLOOKUP函数只能从左向右匹配查找?与IF函数搭配实现逆向查找
- 2025-01-18 TCP连接状态的多种判断方法
- 2025-01-18 吞没选股指标(选股指标)
- 05-09Linux 安装Oracle11.2.0.4 (静默安装法)
- 05-09Oracle 10g安装64位图解流程(Oracle 10g安装64位图解流程图怎么画)
- 05-09Centos7命令行安装Oracle11g(centos7安装oracle11g数据库)
- 05-09Vite 的实现原理,确实很巧妙(深入vite原理)
- 05-09微信小程序中使用云函数进行开发(微信小程序创建云函数)
- 05-09详细讲解npm install命令执行,都干了哪些事情?
- 05-09如何在 Node.js 中使用 .env 文件管理环境变量 ?
- 05-09离线环境下运行Vue项目(离线安装vue-cli)
- 最近发表
-
- Linux 安装Oracle11.2.0.4 (静默安装法)
- Oracle 10g安装64位图解流程(Oracle 10g安装64位图解流程图怎么画)
- Centos7命令行安装Oracle11g(centos7安装oracle11g数据库)
- Vite 的实现原理,确实很巧妙(深入vite原理)
- 微信小程序中使用云函数进行开发(微信小程序创建云函数)
- 详细讲解npm install命令执行,都干了哪些事情?
- 如何在 Node.js 中使用 .env 文件管理环境变量 ?
- 离线环境下运行Vue项目(离线安装vue-cli)
- 《小鑫发现》之GraphQL框架Prisma
- 如何写一个webpack插件(一)(webpack常用插件和loader)
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- js判断是否空对象 (63)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- outofmemoryerror是什么意思 (64)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)