linux类似的vlookup函数,VLOOKUP进阶——你可能所不知道的VLOOKUP用法
本帖最后由 看见星光 于 2014-9-9 12:54 编辑
第三节:VLOOKUP条件求和以及T/N+IF{1}技巧建立内存数组的一个应用小例。
这一节,我们来回答开篇所提到的第二个以及第三个问题:
VLOOKUP能否进行条件求和?就像SUMIF那样?
VLOOKUP第一个参数能否支持数组引用?
如下图,有这样一道题,需要在E1,求出A列存在的D3:D6班级的成绩之和。
5.jpg (34.4 KB, 下载次数: 3649)
2014-8-19 11:31 上传
解这道题的方法有很多种,我们通常使用SUMIF:
数组:=SUM(SUMIF(A1:B5,D4:D6,B1))
或者:
数组:=SUM((A2:A5=TRANSPOSE(D4:D6))*B2:B5)
如果用VLOOKUP,又怎么做呢?
我们可以写成这样:
E1=SUM(VLOOKUP(T(IF({1},D4:D6)),A:B,2,0))
这个公式不需要按数组三键。
我们来简单了解下这个公式。
重点是VLOOKUP的查找值,T(IF({1},D4:D6))。
我们知道D4:D6,是需要进行查找统计的班级名称,那么为什么要在其外套T和IF函数?或者,我们反过来想,为什么不套T和IF函数,VLOOKUP就只对查询范围的第一个数值(金庸班)进行查询呢?
我们可以这么简单的理解。
T/N+IF组合,是让VLOOKUP函数的第一参数,接受数组形式,因此返回相应的内存数组。
如此,VLOOKUP方能对每一个查找值进行查询统计。
如果为了避免错误值的问题,比如D4:D6出现了查询范围不曾出现的班级名称:天仙班,公式可以修改为:
数组:=SUM(IFERROR(VLOOKUP(T(IF({1},D4:D6)),A:B,2,0),0))
=========我是温暖恰春的分割线=========
6.jpg (33.16 KB, 下载次数: 3660)
2014-8-19 11:32 上传
再看一道题。
如上图,对A列存在的D4:D6的班级进行求和,班级重复的只计算一次,答案是305。
我们通常使用这样的数组公式:
=SUM(SUMIFS(B:B,A:A,D4:D6)/COUNTIF(A:A,D4:D6))
或者:
=SUM(N(INDIRECT("b"&MATCH(D4:D6,A1:A9,))))
其实我们也可以使用VLOOKUP:
=SUM(VLOOKUP(T(IF({1},D4:D6)),A:B,2,0))
依然由于VLOOKUP天生就只取首个匹配的结果的缘故,所以咱们也就不需要对重复数据进行二次处理。
如果要屏蔽错误值,依然要增加IFERROR:
数组=SUM(IFERROR(VLOOKUP(T(IF({1},D4:D6)),A:B,2,0),0))
=========我是恰春温暖的分割线=========
综合以上两个问题,咱们不难发现,在条件求和方面,VLOOKUP和SUMIF还是有所不同的。
如果未加以处理,VLOOKUP只对第一次出现的数据进行计算,这是它的短处,当然,未必不是它的长处。
如果未加以处理,SUMIF会对所有数据进行求和,不论重复与否,这是它的长处,当然,未必不是它的短处。
=========我只是分割线=========
T/N+IF{1}技巧建立内存数组的一个应用小例
QQ图片20140821223202.jpg (38.68 KB, 下载次数: 3492)
2014-8-21 22:30 上传
如图,判定D列姓名的相对累计重复次数(中文名和英文名如果是同一个人的名字,则同样视为重复)
这道题如果用辅助列,会很简单。
直接把名字统一转换为中文或者英文,再使用COUNTIF进行重复次数计算。
比如E2公式:=IFERROR(VLOOKUP(D2,A:B,2,0),D2),下拉后将名字统一更换为中文;再使用公式=COUNTIF($E$2:E2,E2),下拉后便可得出正确结果。
但如果不用辅助列呢?
如果我们继续之前的解题思路,将查询的名字,统一更换为中文或者英文,再进行重复次数的计算,我们依然可以使用VLOOKUP函数。
比如公式:F2=SUM(N(IFERROR(VLOOKUP(T(IF({1},$D$2:D2)),A:B,2,0),$D$2:D2)=IF(CODE(D2)<91,VLOOKUP(D2,A:B,2,),D2)))
IFERROR(VLOOKUP(T(IF({1},$D$2:D2)),A:B,2,0),$D$2:D2),是在公式下拉的过程中,将第二行到公式所在行的D列姓名,统一转换为中文,并以可以计算的内存数组的形式保存相关值。
IF(CODE(D2)<91,VLOOKUP(D2,A:B,2,),D2),是将D列需要判定重复次数的值,统一转化为中文。
SUM(N……)是统计第一个公式的内存数组值等于第二个公式返回值的次数,即相关名字的重复次数。
...
..
.
linux类似的vlookup函数,VLOOKUP进阶——你可能所不知道的VLOOKUP用法相关推荐
- 计算机一级vlookup函数的使用方法,电子档Excel中vlookup函数的使用方法(图解详细说明)...
摘要: 在平时的工作中,相信很多问题在学校学习的难以用在工作当中,但是没学习到的知识点倒是出现在了我们的工作中,本文我将给大家以生动的图解(偷笑)加说明的方式详细介绍Excel中vlookup函数的使 ...
- 查找引用类EXCEL函数之VLOOKUP函数的使用方法
在一个数据量比较大的工作表中,如果想要找到符合某些特征的记录,通常会采用筛选的方式去实现.但如果需要查找某一条记录,那么用查找引用类EXCEL函数会更为方便.接下来,简单介绍一下查找引用类EXCEL函 ...
- excel表格vlookup函数怎么用_只会Vlookup函数Out了!Excel所有查找公式全在这儿(共16大类)...
找对比,你会首先想到Vlookup函数.但在Excel中只会Vlookup函数是远远不够的.今天小编对查找公式进行一次全面的整理.(注:一题多解的只选取最优公式) 1.普通查找 查找李晓峰的应发工资 ...
- python vlookup 模糊_如何用python写excel中的vlookup函数?
1.背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel 一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时 ...
- excel vlookup用法_Python中也可以写Excel中的“Vlookup”函数?太牛逼了吧!
Vlookup函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时你有没有想到过 ...
- 如何用 Python 写 Excel 中 Vlookup 函数?
作者 | 黄伟呢 出品 | 数据分析与统计学之美(ID:gh_21c25c7e71d0) 头图 | CSDN 下载自视觉中国 背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了 ...
- excel VLOOKUP函数的使用方法
VLOOKUP函数是Excel中几个最重函数之一,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明.本文为入门部分 一.入门级 VLOOKUP是一个查找函数, ...
- 原创:VLOOKUP函数的使用方法(高级篇)
前言:前面我们分别学习了VLOOKUP函数的入门.初级和进阶篇.今天我们学习VLOOKUP函数的高级应用部分-VLOOKUP函数的数组应用.(本文由兰色幻想原创,转载请注明转自 excel精英培训) ...
- 全网首发 | Python实现vlookup函数“一表引用”和“跨表引用”
需要说明一点 有些朋友看了这个问题后,肯定又会留言说明:这种问题用Excel不是更简单吗?但是我要说明的是,这篇文章属于Python自动化系列文章的配套文章,只是代表Python批量处理这一类问题的一 ...
最新文章
- 台大李宏毅机器学习2021
- 中国首次纳米孔测序大会:不可错过的教学专场和技术诊断
- spring项目使用redis分布式锁解决重复提交问题
- 查询数据表结构并查出结构的结构信息
- 几种多数据库表update的方式测试
- python爬虫实战:《星球大战》豆瓣影评分析
- 菜鸟学习Spring——60s配置XML方法实现简单AOP
- ubuntu文件夹建立软链接方法
- 求书:推荐阅读倡议书
- CentOS安装zip及用法
- vue require图片_前后端分离当下,后端同学总结的手动构建vue项目
- linux软盘镜像下载,软盘镜像Image文件制作(WinImage Pro)
- chrome frame使用记录
- cad2014点击工具栏闪退_cad2012闪退,点工具栏闪退但用快捷键画图不闪退
- 会议OA之我的审批(查询签字)
- 计算机桌面ie图标无法删除,为什么桌面的ie图标删不掉_桌面的ie图标怎么都删不掉的解决方法-系统城...
- Bluetooth RFCOMM介绍
- R语言使用dcauchy函数生成柯西分布密度函数数据、使用plot函数可视化柯西分布密度函数数据(Cauchy distribution)
- js逆向系列之猿人学爬虫第13题
- 开机找不到硬盘的原因