本帖最后由 看见星光 于 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用法相关推荐

  1. 计算机一级vlookup函数的使用方法,电子档Excel中vlookup函数的使用方法(图解详细说明)...

    摘要: 在平时的工作中,相信很多问题在学校学习的难以用在工作当中,但是没学习到的知识点倒是出现在了我们的工作中,本文我将给大家以生动的图解(偷笑)加说明的方式详细介绍Excel中vlookup函数的使 ...

  2. 查找引用类EXCEL函数之VLOOKUP函数的使用方法

    在一个数据量比较大的工作表中,如果想要找到符合某些特征的记录,通常会采用筛选的方式去实现.但如果需要查找某一条记录,那么用查找引用类EXCEL函数会更为方便.接下来,简单介绍一下查找引用类EXCEL函 ...

  3. excel表格vlookup函数怎么用_只会Vlookup函数Out了!Excel所有查找公式全在这儿(共16大类)...

    找对比,你会首先想到Vlookup函数.但在Excel中只会Vlookup函数是远远不够的.今天小编对查找公式进行一次全面的整理.(注:一题多解的只选取最优公式) 1.普通查找 查找李晓峰的应发工资 ...

  4. python vlookup 模糊_如何用python写excel中的vlookup函数?

    1.背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel 一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时 ...

  5. excel vlookup用法_Python中也可以写Excel中的“Vlookup”函数?太牛逼了吧!

    Vlookup函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时你有没有想到过 ...

  6. 如何用 Python 写 Excel 中 Vlookup 函数?

    作者 | 黄伟呢 出品 | 数据分析与统计学之美(ID:gh_21c25c7e71d0) 头图 |  CSDN 下载自视觉中国 背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了 ...

  7. excel VLOOKUP函数的使用方法

    VLOOKUP函数是Excel中几个最重函数之一,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明.本文为入门部分 一.入门级 VLOOKUP是一个查找函数, ...

  8. 原创:VLOOKUP函数的使用方法(高级篇)

    前言:前面我们分别学习了VLOOKUP函数的入门.初级和进阶篇.今天我们学习VLOOKUP函数的高级应用部分-VLOOKUP函数的数组应用.(本文由兰色幻想原创,转载请注明转自 excel精英培训) ...

  9. 全网首发 | Python实现vlookup函数“一表引用”和“跨表引用”

    需要说明一点 有些朋友看了这个问题后,肯定又会留言说明:这种问题用Excel不是更简单吗?但是我要说明的是,这篇文章属于Python自动化系列文章的配套文章,只是代表Python批量处理这一类问题的一 ...

最新文章

  1. 台大李宏毅机器学习2021
  2. 中国首次纳米孔测序大会:不可错过的教学专场和技术诊断
  3. spring项目使用redis分布式锁解决重复提交问题
  4. 查询数据表结构并查出结构的结构信息
  5. 几种多数据库表update的方式测试
  6. python爬虫实战:《星球大战》豆瓣影评分析
  7. 菜鸟学习Spring——60s配置XML方法实现简单AOP
  8. ubuntu文件夹建立软链接方法
  9. 求书:推荐阅读倡议书
  10. CentOS安装zip及用法
  11. vue require图片_前后端分离当下,后端同学总结的手动构建vue项目
  12. linux软盘镜像下载,软盘镜像Image文件制作(WinImage Pro)
  13. chrome frame使用记录
  14. cad2014点击工具栏闪退_cad2012闪退,点工具栏闪退但用快捷键画图不闪退
  15. 会议OA之我的审批(查询签字)
  16. 计算机桌面ie图标无法删除,为什么桌面的ie图标删不掉_桌面的ie图标怎么都删不掉的解决方法-系统城...
  17. Bluetooth RFCOMM介绍
  18. R语言使用dcauchy函数生成柯西分布密度函数数据、使用plot函数可视化柯西分布密度函数数据(Cauchy distribution)
  19. js逆向系列之猿人学爬虫第13题
  20. 开机找不到硬盘的原因

热门文章

  1. 第0期-通过hao123爬取导航网站
  2. for(auto a :b)
  3. MATLAB 2016a系统错误解决方案
  4. 数据库与MPP数仓(二十三):postgreSQL集群与高级特性
  5. shp、tif文件坐标系转换
  6. Mac升级pip3 | pip install --upgrade pip
  7. EditText 里的属性
  8. 新版MinGW-w64(12.2.0)安装
  9. android WebView
  10. C++实现多态的条件