首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel公式技巧17: 使用VLOOKUP函数在多个工作表中查找相匹配的值(2)

我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作表: ?...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”且“Year”列为“2012”对应的Amount列中的值,如下图4所示的第7行和第11行。 ?...图4:主工作表Master 解决方案1:使用辅助列 可以适当修改上篇文章中给出的公式,使其可以处理这里的情形。首先在每个工作表数据区域的左侧插入一个辅助列,该列中的数据为连接要查找的两个列中数据。...16:使用VLOOKUP函数在多个工作表中查找相匹配的值(1)》。...先看看名称Arry2: =ROW(INDIRECT("1:10"))-1 由于将在三个工作表中执行查找的范围是从第1行到第10行,因此公式中使用了1:10。

14.1K10

Excel公式技巧16: 使用VLOOKUP函数在多个工作表中查找相匹配的值(1)

在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...最简单的解决方案是在每个相关的工作表中使用辅助列,即首先将相关的单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作表中使用辅助列,特别是要求在被查找的表左侧插入列时。...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”对应的Amount列中的值,如下图4所示。 ?...B1:D10"),3,0) 其中,Sheets是定义的名称: 名称:Sheets 引用位置:={"Sheet1","Sheet2","Sheet3"} 在公式中使用的VLOOKUP函数与平常并没有什么不同...,我们首先需要确定在哪个工作表中进行查找,因此我们使用的函数应该能够操作三维单元格区域,而COUNTIF函数就可以。

25.5K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何添加合适的索引:MySql 数据库索引认知

    估算需要扫描 3069172 行记录, filtered 字段:10.00,表示 MySQL 估算匹配条件的过滤比例为 10%。...但是因为有 room_order_no 这个条件,对于每条匹配记录,MySQL 需要通过主键指针回到主表( "回表")读取完整的行数据。...通过上面的描述可以知道 行记录的最大长度与索引页的大小密切相关。由于每个索引页通常大小为16KB,因此 每个索引页的条目大小 会直接影响到页的容量。...这个区间的指针会指向下一层的一个索引页面。 进入下一层的索引页面,接下来,我们进入下一层的索引页面。这个页面可能会包含多个条目,每个条目又将数据划分为更细小的区间。...也就是下面这样 在叶子节点,索引1和记录行r1存储在一起,查找到索引就是查找到数据库记录,主键ID和所在的记录行存储在一起。

    9400

    升值加薪Excel神助攻,数据透视表堪称神器!

    VLOOKUP、数据透视表、条件格式…你用这几个技巧做,80%的工作需求都能解决。今天特意整理了这些操作技巧,拯救同在“表海”中挣扎的你,让你的工作效率超乎想象。 ?...Index+Match中,Match用以确定数据所在的行值和列值(查找姓名所在的行,查找身份证号所在的列,行列交汇的数据就是要匹配出来的数据),Index负责调出由Match确定的行值和列值交叉位置确定的唯一数据...8.数据透视表:Excel分析汇总神器 数据透视表,允许用户根据需要对各类数据维度进行划分,进行不同的重组,助你轻松发现隐藏在数据背后的本质。...操作方式:选中字段下的数据—右键单击选择【创建组】-创建“起始于”和“终止于”对应的数值,也可采用自带的年、季度、月等组合方式。 ? 切片器:一枚切片器,轻松控制多个数据透视表,数据展现随心而动。...操作方式:选中数据透视表中任一数据——【分析】选项卡—插入切片器—右键单击切片器—报表连接—勾选需要控制的多个表格。 ? 综合运用上面的功能,一张人员基本情况分析的看板就实现了。 ?

    2.2K20

    mysql索引基础

    在Mysql中,存储引擎用类似的方法使用索引,其先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行(ps:根据索引树找到符合的索引记录,索引记录包含索引值与主键值,通过主键值定位到数据行)。...actor_id等于5的索引记录(ps:包含索引值与主键),然后返回通过主键定位到具体的数据行(ps:通过主键定位数据行的步骤称之为回表)。...如果索引包含多个列,那么列的顺序也十分重要,因为Mysql只能高效的使用索引的最左前缀列,创建一个包含两个列的索引和创建两个只包含一列的索引是大不相同的。...值得一提的是,Memory引擎是支持非唯一哈希索引的,如果多个列的哈希值相同,索引会以链表的方式存放多个记录指针到同一个哈希条目中。...聚簇索引的优点 将索引值与数据行保存在同一个B-tree中,因此从聚簇索引中获取数据通常比在非聚簇索引中查找要快 使用覆盖索引扫描的查询可以直接使用该索引对应的主键值(ps:指的是非聚簇索引叶子节点保存有聚簇索引的主键值

    64010

    MySQL 哈希索引、空间数据索引、全文索引

    1.哈希索引 哈希索引基于哈希表实现,仅支持精确匹配索引所有列的查询。对于每行数据,存储引擎都会对所有的索引列计算出一个哈希码。哈希索引将所有的哈希码存储在索引中,同时保存指向每个数据行的指针。...1.1 存储结构 常见的存储引擎中,MEMORY 存储引擎显式支持哈希索引。如果多个列的哈希值相同,哈希索引会以链表的方式存放多个记录指针到同一个哈希条目中。...1.2 适合哈希索引的查询类型 精确匹配所有列 和索引中的所有列进行精确匹配,如查找名字为Julia的客户。...数据库先会计算first_name='Julia’的哈希值5656,然后在索引中查找5656,找到对应的指针为:指向第2行的指针,最后根据指针从原表拿到具体值,并进行比较是否为Julia mysql> ...哈希索引只支持等值查询,包括=、IN、; 哈希索引不存储字段值,只包含哈希值和行指针,不能使用索引中的值来避免读取行; 哈希索引不是按照索引值顺序存储的,不能用于排序; 哈希索引不支持部分索引列匹配查找

    1.3K40

    Mysql探索(一):B-Tree索引

    B-Tree索引支持的查询原则如下所示: 全值匹配:全值匹配指的是和索引中的所有列进行匹配。 匹配最左前缀:前边提到的索引可以用于查找所有姓Allen的人,即只使用索引中的第一列。...通常,MySQL的索引扫描需要先定义一个起点和终点,即使需要的数据只是这段索引中很少数的几个,MySQL仍然需要扫描这段索引中的每个条目。...因为索引的前导字段是列a,但是在查询中只指定了字段b,MySQL无法使用这个索引,从而只能通过全表扫描找到匹配的行,如下图所示。 ?...SQL查询只需要扫描索引而无需回表,会带来很多好处: 索引条目数量和大小通常远小于数据行的条目和大小,所以如果只需要读取索引,那么MySQL就会极大地减少数据访问量。...因为索引是按照列顺序存储的,所以对于I/O密集型的范围查找会比随机从磁盘读取每一行数据的I/O要少的多。 由于InnoDB的聚簇索引,覆盖索引对InnoDB表特别有用。

    1.6K30

    MySQL数据库(八):表记录的基本操作(增删改查)

    值得类型是字符的话需要用双引号引起来 *值与字段的类型一定匹配 2.例子 1.1 给表中插入一条记录 insert into usertab values(46,"plj",100,"x",2000,2000...***************** 1.5逻辑比较 (查询时使用2个或2个以上查询条件) 逻辑与: and-多个条件必须同时成立 select username,uid from usertab where...格式: where 字段名 like ‘表达式’ 表达式符号 : % 匹配0个到多个字符 _ 匹配任意一个字符 #匹配任意3个字符 select username from...1.1格式: select shell from usertab group by 字段名 having 条件表达式 例子: 查询usertab表中的shell字段并分组,然后查找出uid小于10...limit限制显示记录的条目数 1.1格式: limit N;   # N表示从查询结果的第几条记录开始显示,默认从查询结果的第一条记录开始显示,第一条记录的编号是0 # M 表示显示条目的记录数 limit

    5.3K110

    Mysql探索(一):B-Tree索引

    页分裂会导致表占用更多的磁盘空间 二级索引可能比想象的更大,因为在二级索引中的叶节点包含了引用行的主键列 二级索引访问需要两次索引查找,而不是一次。...通常,MySQL的索引扫描需要先定义一个起点和终点,即使需要的数据只是这段索引中很少数的几个,MySQL仍然需要扫描这段索引中的每个条目。  ...,但是在查询中只指定了字段b,MySQL无法使用这个索引,从而只能通过全表扫描找到匹配的行,如图5所示。...SQL查询只需要扫描索引而无需回表,会带来很多好处: 索引条目数量和大小通常远小于数据行的条目和大小,所以如果只需要读取索引,那么MySQL就会极大地减少数据访问量。...因为索引是按照列顺序存储的,所以对于I/O密集型的范围查找会比随机从磁盘读取每一行数据的I/O要少的多。 由于InnoDB的聚簇索引,覆盖索引对InnoDB表特别有用。

    1K10

    MySQL 索引的类型

    大多数 MySQL 引擎都支持这种索引。之所以称之为“B-Tree” 是因为 MySQL 在创建表和其他语句中也使用该关键字。...索引对多个值进行排序的依据是 CREATE TABLE 语句中定义索引时列的顺序,看一下最后两个条目,两个人的姓和名都相同时,则根据他们的出生日期来排列顺序。 ?...哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。 【MySQL 中】:只有 Memory 引擎显示支持哈希索引。...如果多个列的哈希值相同,索引会以链表的方式存放多个记录指针到同一个哈希条目中。...因为 f('Peter')=8493,所以对 MySQL 在索引中查找 8493,可以找到指向第二行的指针,最后一步是比较第二行的值是否为'Peter',以确保就是要查找的行。

    1.4K30

    如何在Ubuntu 16.04上使用MySQL全文搜索提高搜索效果

    介绍 全文搜索(FTS)是搜索引擎用于在数据库中查找结果的技术。您可以使用它来为商店、搜索引擎、报纸等网站上的搜索结果提供支持。 更具体地说,FTS检索与搜索条件不完全匹配的文档。...在本教程中,您将使用MySQL 5.6使用全文搜索来查询数据库,然后根据它们与搜索输入的相关性来量化结果,并仅显示最佳匹配。...(id, title, content, author) VALUES 指定应存储每个条目的数据值的列。 最后三行是我们添加到表中的三行数据。...现在您可以在SQL查询中使用FTS函数来查找与搜索输入相关的行,您可以使这些结果更具相关性。 第三步 - 完善FTS结果 有两种技术可以帮助使全文搜索结果更具相关性。...MODE)\G 你会看到一个结果,它在第2行的content中与traveling the 140 miles匹配。

    2.4K40

    架构面试题汇总:mysql索引全在这!(五)

    索引的工作方式类似于书籍的索引:而不是逐页搜索书籍以找到所需的信息,您可以在索引中查找一个条目,该条目会告诉您在哪里可以找到所需的信息。...优势是查询速度快,劣势是每个表只能有一个主键,且不允许有空值。 唯一索引(Unique Index):唯一索引与主键索引类似,不同的是,一个表可以有多个唯一索引。...因此,在设计复合索引时,应确保索引的列顺序与查询条件中的列顺序相匹配。 选择性和基数的考虑:在选择复合索引的列时,应考虑列的选择性和基数。...而如果使用索引,MySQL可能需要从磁盘上读取索引条目和数据行,这会导致额外的磁盘I/O操作。...eq_ref:对于每个与key中的值匹配的行,只从表中检索一行。这是最有效率的连接类型之一,特别是在多表连接时。

    25510

    数据分析基础——EXCEL快速上手秘籍

    百度定义是这样的:数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。 Emmm,各位看完之后有没有一个特别清晰的概念呢。反正我是没有的。...接着就是选择数据透视表存放的区域,默认是新工作表,大家在实践中也可选择现有工作表的区域。 ? 始的透视表什么都没有,大家注意右侧的“数据透视表字段”区域,这里是控制透视表的核心地带。...左侧数据透视表结构区域随着我们的拖动发生了变化,刚才我们把日期拖动到行,把省份移动到列,果然,数据透视表布局和我们操作一毛一样: ? 等等!...那是因为,我们源数据格式是酱紫的,数据透视表分组逻辑是判断是否唯一,如果唯一则单独分为一行(或一列),想要把行标签的日期格式变成月的维度,也HIN简单。...VLOOKUP(匹配的参数,想要在哪个区域匹配,返回匹配区域的第多少列,是否精确查找) 函数构成很难懂,绝知此事要躬行: 现在有两个区域,区域1一个是包含产品ID,销量,销售额 区域2一个是供应商表,有

    2.1K10

    数据分析基础——EXCEL快速上手秘籍

    百度定义是这样的:数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。 Emmm,各位看完之后有没有一个特别清晰的概念呢。反正我是没有的。...接着就是选择数据透视表存放的区域,默认是新工作表,大家在实践中也可选择现有工作表的区域。 ? 始的透视表什么都没有,大家注意右侧的“数据透视表字段”区域,这里是控制透视表的核心地带。...左侧数据透视表结构区域随着我们的拖动发生了变化,刚才我们把日期拖动到行,把省份移动到列,果然,数据透视表布局和我们操作一毛一样: ? 等等!...那是因为,我们源数据格式是酱紫的,数据透视表分组逻辑是判断是否唯一,如果唯一则单独分为一行(或一列),想要把行标签的日期格式变成月的维度,也HIN简单。...VLOOKUP(匹配的参数,想要在哪个区域匹配,返回匹配区域的第多少列,是否精确查找) 函数构成很难懂,绝知此事要躬行: 现在有两个区域,区域1一个是包含产品ID,销量,销售额 区域2一个是供应商表,有

    2K00

    MySQL权限系统分析

    对于由jeffrey从localhost的连接,表内有两个条目匹配:Host和User值为’localhost’和’‘的条目,和值为’%'和’jeffrey’的条目。'...在这些表中的范围列的值可以采用以下方式: 通配符字符%并_可用于两个表的Host和Db列。它们与用LIKE操作符执行的模式匹配操作具有相同的含义。...(因为它们不包含hutdown_priv行列,没有这样做的必要。) 对数据库有关的请求(INSERT、UPDATE等等),服务器首先通过查找user表行来检查用户的全局(超级用户)权限。...如果行允许请求的操作,访问被授权。如果在user表中全局权限不够,服务器通过检查db表确定特定的用户数据库权限: 服务器在db表的Host、Db和User列上查找匹配。...如果db表中有匹配的行而且它的Host列不是空的,该行定义用户的数据库特定的权限。 在确定了由db表行授予的数据库特定的权限后,服务器把他们加到由user表授予的全局权限中。

    98830

    「Mysql索引原理(三)」Mysql中的Hash索引原理

    Hash索引 概念 基于哈希表实现,只有匹配所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个哈希码,哈希码是一个较小的值,不同键值的行计算出的哈希码也不一样。...哈希索引将所有的哈希码存储在索引中,同时保存指向每个数据行的指针。 ? 如果多个列的哈希值相同,索引会以链表的方式存放多个记录指针到同一个哈希条目中去。...哈希表中哈希码是顺序的,导致对应的数据行是乱序的。...如果哈希冲突很多,一些索引维护操作的代价会很高。 ? 如果从表中删除一行,需要遍历链表中的每一行,找到并删除对应行的引用,冲突越多,代价越大。..._2622285' ) and url='https://blog.csdn.net/qq_2622285' mysql优化器会选择性能高且体积小的基于url_crc列的索引来完成查找,即使用多个相同的索引值

    9K11

    「Mysql优化大师三」查询执行计划explain详解,含案例

    通常意味着mysql将扫描整张表,从头到尾,去找到需要的行。 index 这个跟全表扫描一样,只是mysql扫描表时按索引次序进行而不是行。...显而易见的范围扫描是带有between或在where子句中带有 > 的查询。 ref 这是一种索引访问,也有的叫索引查找。它返回所有匹配某个单值的行。...然后,它可能会找到多个符合条件的行,因此,它是查找和扫描的混合体。此类索引访问只有当使用非唯一索引或唯一索引的非唯一前缀时才发生。...ref_or_null是ref的一个表种,他表示mysql必须在初次查找的结果里进行第二次查找以找出NULL的条目。 eq_ref mysql最多只返回一条符合条件的记录。...这个访问方法可以在mysql使用主键或唯一性索引查找时看到,它会将他们与某个参考值做比较。mysql对这类访问类型的优化做的非常好,因为它只到无需估计匹配行的范围或在找到匹配行后在继续查找。

    1.2K10

    MySQL索引B+树、执行计划explain、索引覆盖最左匹配、慢查询问题

    MySQL索引B+树、执行计划explain、索引覆盖最左匹配、慢查询问题 B树与B+树的区别及MySQL为何选择B+树 在数据库中,为了提高查询效率和数据的持久化存储,在设计索引时通常会采用B树或B+...B树和B+树的基本概念 B树是一种平衡多路查找树,相比于二叉查找树,它允许一个节点存在多个子节点,因此可以减少I/O操作的次数,提高数据的访问效率。...const:通过索引一次就找到了,const与主键或唯一索引一起使用时,最多只会返回一条记录。 eq_ref:使用唯一索引或主键进行关联,只返回匹配到的一行记录。...all:Full Table Scan(Full Table Scan),这是最坏的情况,扫描全表查找匹配的行。 possible_keys字段:该字段显示可能用于此查询的键列表。...SET GLOBAL slow_query_log = OFF; 调整缓存大小 MySQL中有多个缓存,包括查询缓存、表缓存、连接缓存等。可以通过调整这些缓存的大小来改善性能。

    46200

    MySQL学习笔记(三)索引-上篇

    如果作为搜索条件的列上已经创建了索引,MySQL就能根据索引更快找到目标记录。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。因此,建立高效的索引能够极大提升查询效率。...辅助索引也是B+树结构的索引,但是它的叶节点不包含行记录,只包含键值和一个书签,这个书签用来告诉InnoDB,哪里能找到与键值对应的行记录。...Memory引擎支持非唯一哈希索引,就是当不同的键值计算出的哈希值相同时,索引会用链表的方式存放多个记录指针到同一个哈希条目中。 下面来看一个具体例子。...注意到有两行数据计算出的哈希值都是2323,称之为哈希冲突。具有相同哈希值的多个行指针用链表结构来存储,并最终指向对应的行数据。...,与索引值匹配,返回行记录完成此次查询。

    63300
    领券