Table of contents
该教程解释了谷歌表VLOOKUP函数的语法,并展示了如何使用Vlookup公式来解决现实生活中的任务。
在处理相互关联的数据时,最常见的挑战之一是在多个工作表中查找信息。 你在日常生活中经常执行这样的任务,例如,在扫描航班时刻表板上的航班号以获得出发时间和状态。 谷歌表VLOOKUP的工作方式与此类似--从同一工作表中的另一个表查找和检索匹配的数据或从另一张纸上。
一个普遍的观点是,VLOOKUP是最困难和最晦涩的函数之一。 但事实并非如此!事实上,在谷歌表格中做VLOOKUP很容易,一会儿你就能确定这一点。
提示:对于Microsoft Excel用户,我们有一个单独的Excel VLOOKUP教程,其中有公式实例。
谷歌表VLOOKUP - 语法和用法
谷歌表格中的VLOOKUP函数被设计用来执行一个 纵向查询 - 在指定范围内的第一列下搜索一个键值(唯一标识符),并从另一列返回同一行的一个值。
Google Sheets VLOOKUP函数的语法如下。
VLOOKUP(search_key, range, index, [is_sorted])前3个参数是必须的,最后一个参数是可选的。
搜索_键 - 是要搜索的值(查询值或唯一标识符)。 例如,你可以搜索 "苹果 "这个词,数字10,或A2单元格中的值。
范围 - 谷歌表的VLOOKUP功能总是在第一列的数据中搜索。 范围 .
索引 - 中的列号。 范围 中的一个匹配值(值在与 搜索_键 )应该被返回。
中的第一栏 范围 有 指数 1.如果 指数 小于1,Vlookup公式会返回#VALUE!的错误。 如果它大于在 范围 , VLOOKUP返回#REF!错误。
是分类的 - 在大多数情况下,建议使用FALSE。
- 如果 is_sorted 为 "true "或省略(默认),则 范围 必须是 按升序排序 即从A到Z或从最小到最大。
在这种情况下,一个Vlookup公式返回一个 近似匹配 更确切地说,它首先搜索完全匹配。 如果没有找到完全匹配,公式会搜索 最匹配的 小于或等于 搜索_键 如果查询列中的所有值都大于搜索键,将返回#N/A错误。
- 如果 is_sorted 被设置为FALSE,就不需要排序。 在这种情况下,Vlookup公式会搜索到 完全匹配 如果查询列包含2个或2个以上的值正好等于 搜索_键 ,找到的第一个值将被返回。
乍一看,语法可能有点复杂,但下面的Google Sheet Vlookup公式例子将使事情更容易理解。
假设你有两个表:主表和查找表,如下面的截图所示。 这些表有一个共同的列( 订单编号 你的目标是将每个订单的状态从查询表拉到主表。
现在,你如何使用谷歌表的Vlookup来完成任务? 首先,让我们为我们的Vlookup公式定义参数。
- 搜索_键 - 订单ID(A3),在查询表的第一列中要搜索的值。
- 范围 - 请注意,我们是在 "查询表"($F$3:$G$8)中查询。 锁定范围 因为我们计划将公式复制到多个单元格,所以使用绝对的单元格引用。
- 索引 - 2因为 状况 中的第2列,我们想从中返回一个匹配的数据。 范围 .
- 是分类的 - FALSE,因为我们的搜索列(F)没有被排序。
把所有的论点放在一起,我们得到这个公式。
=VLOOKUP(A3,$F$3:$G$8,2,false)
在主表的第一个单元格(D3)中输入,向下复制一列,你会得到类似这样的结果。
Vlookup公式对你来说还是很难理解吗? 那就这样看吧。
关于谷歌表VLOOKUP的5件事情要知道
正如你已经了解的那样,谷歌表的VLOOKUP功能是一个有细微差别的东西。 记住这五个简单的事实将使你远离麻烦,并帮助你避免最常见的Vlookup错误。
- 谷歌表的VLOOKUP不能看它的左边,它总是在范围的第一列(最左边)搜索。 要做一个 左边的Vlookup 使用谷歌表格的索引匹配公式。
- 谷歌表格中的Vlookup是 不区分大小写 也就是说,它不区分小写和大写的字符。 对于 区分大小写的查询 ,使用这个公式。
- 如果VLOOKUP返回不正确的结果,请设置 is_sorted 如果这没有帮助,请检查其他可能导致VLOOKUP失败的原因。
- 当 is_sorted 设置为 "true "或省略,记住要对 "s "的第一列进行排序。 范围 在这种情况下,VLOOKUP函数将使用一种更快的二进制搜索算法,该算法只在排序的数据上正确工作。
- 谷歌表的VLOOKUP可以搜索到 部分匹配 基于 通配符 请看这个Vlookup公式的例子,以了解更多细节。
如何在谷歌表格中使用VLOOKUP--公式示例
现在你对谷歌表Vlookup的工作原理有了基本的了解,是时候尝试自己动手制作一些公式了。 为了使下面的Vlookup例子更容易理解,你可以打开Vlookup谷歌表的样本。
如何从不同的工作表进行Vlookup
在现实生活中的电子表格中,主表和查找表通常位于不同的工作表上。 要将Vlookup公式引用到同一电子表格中的另一个工作表,请在工作表名称后面加上感叹号(!),然后再引用范围。 例如,。
=VLOOKUP(A2,Sheet4!$A$2:$B$7,2,false)
该公式将在 Sheet4 的 A2:A7 范围内搜索 A2 中的值,并从 B 列(Sheet4 中的第 2 列)返回一个匹配值。 范围 ).
如果工作表名称包括空格或非字母字符,请务必用单引号将其括起来。 例如:。
=VLOOKUP(A2,'Lookup table'!$A$2:$B$7,2,false)
提示:与其手动输入对另一个工作表的引用,你可以让谷歌表自动插入。 为此,开始输入Vlookup公式,当它到了 范围 参数,切换到查找工作表,用鼠标选择范围。 这将为公式添加一个范围参考,你只需将相对参考(默认)改为绝对参考。 要做到这一点,可以在列号和行号前键入$符号,或者选择参考并按F4键在不同的参考类型之间切换。
带有通配符的谷歌表格Vlookup
在你不知道整个查询值(search_key),但你知道其中一部分的情况下,你可以用以下通配符进行查询。
- 问号(?)来匹配任何单一字符,以及
- 星号(*)用于匹配任何序列的字符。
假设你想从下表中检索一个特定订单的信息,你无法回忆起订单Id的全部内容,但你记得第一个字符是 "A"。 因此,你用星号(*)来填补缺少的部分,像这样。
=VLOOKUP("a*",$A$2:$C$7,2,false)
更好的是,你可以在某个单元格中输入搜索键的已知部分,并将该单元格与 "*"相连接,以创建一个更通用的Vlookup公式。
要拉动这个项目。 =VLOOKUP($F$1& "*",$A$2:$C$7,2,false)
要拉动金额。 =VLOOKUP($F$1& "*",$A$2:$C$7,3,false)
提示:如果你需要搜索一个实际的问号或星号字符,请在该字符前加一个倾斜符号(~),例如"~*"。
谷歌表的索引匹配公式为左侧Vlookup
VLOOKUP函数(在Excel和Google Sheets中都是如此)最重要的局限性之一是它不能查看其左边。 也就是说,如果搜索列不是查找表中的第一列,Google Sheets Vlookup就会失败。 在这种情况下,请使用更强大、更持久的索引匹配公式。
INDEX ( 返回范围 , MATCH( 搜索_键 , 查找_范围 , 0))例如,要在G3:G8(lookup_range)中查找A3值(search_key),并从F3:F8(return_range)中返回一个匹配值,请使用此公式。
=index($f$3:$f$8, match (a3, $g$3:$g$8, 0))
下面的截图显示了这个索引匹配公式的作用。
与Vlookup相比,索引匹配公式的另一个优点是它对你在工作表中的结构变化没有影响,因为它直接引用了返回列。 特别是,在查找表中插入或删除一个列会破坏Vlookup公式,因为 "硬编码 "的索引号变得无效,而索引匹配公式仍然安全无害。
关于INDEX MATCH的更多信息,请看为什么INDEX MATCH是VLOOKUP的更好的替代品。 虽然上面的教程针对的是Excel,但Google Sheets中的INDEX MATCH工作方式完全相同,只是参数的名称不同。
谷歌表格中的区分大小写的Vlookup
在文本大小写重要的情况下,使用INDEX MATCH与TRUE和EXACT函数相结合,使Google Sheet Vlookup对大小写敏感。 阵列公式 :
ArrayFormula(INDEX( 返回范围 , 匹配(true,exact( 查找_范围 , 搜索_键 ),0)))假设搜索键在A3单元格,查找范围是G3:G8,返回范围是F3:F8,公式如下。
=ArrayFormula(INDEX($F$3:$F$8, MATCH (TRUE,EXACT($G$3:$G$8, A3),0))
如下面的截图所示,该公式在区分大写和小写字符方面没有问题,如A-1001和a-1001。
提示:在编辑公式时按下Ctrl + Shift + Enter,会自动在公式的开头插入ARRAYFORMULA函数。
Vlookup公式是最常见的,但不是在谷歌表格中进行查询的唯一方法。 本教程的下一节也是最后一节演示了另一种方法。
合并表:谷歌表Vlookup的无公式替代品
如果你正在寻找一种可视化的无公式方法来做谷歌电子表格的Vlookup,可以考虑使用合并表插件。 你可以从谷歌表格插件商店免费获得它。
一旦该插件被添加到您的谷歌表格中,您可以在下面找到它。 延伸 标签。
随着合并表插件的到位,你已经准备好对其进行实地测试。 源数据已经为你所熟悉:我们将从以下方面提取信息 状况 列,基于 订单编号 :
- 选择任何有数据的单元格,在 主表 并点击 附加组件 > 合并表 > 开始 .
在大多数情况下,附加组件会自动为你拾取整个表格。 如果它不这样做,要么点击 自动选择 按钮或在主工作表中手动选择范围,然后点击 下一页 :
- 选择范围,在 查询表 在这个例子中,查找表比主表多了2行。
在这个例子中,我们正在从 状况 查询表上的列进入 状况 主表上的一栏。
点击 完成 让合并表插件处理一下,你就可以走了。
Vlookup多重匹配的简单方法!
多重VLOOKUP匹配是另一个用于高级查找的谷歌表工具。 正如其名称所示,该插件可以返回所有匹配,而不是像VLOOKUP函数那样只返回第一个匹配。 此外,它可以评估 多重条件 ,查找在 任何 方向 ,并返回所有或指定数量的匹配结果,作为 价值 或 配方 .
记住,一图胜千言,让我们看看这个插件在现实生活中的数据是如何工作的。 假设,在我们的样本表中的一些订单包含几个项目,你希望检索一个特定订单的所有项目。 Vlookup公式不能做到这一点,而一个更强大的QUERY函数可以。 问题是这个函数需要查询语言的知识,或者至少是SQL的知识语法。 不想花几天时间研究这个吗? 安装多重VLOOKUP匹配插件,在几秒钟内得到一个无缺陷的公式!
在你的谷歌工作表中,点击 附加组件 > 多个VLOOKUP匹配 > 开始 ,并定义查询标准。
- 选择有你的数据的范围(A1:D9)。
- 指定要返回多少个匹配结果(在我们的例子中是全部)。
- 选择要返回哪些列的数据( 项目 , 数量 和 状况 ).
- 设置一个或多个条件。 我们想提取F2中输入的订单号的信息,所以我们只配置一个条件:订单ID = F2。
- 选择左上角的单元格作为结果。
- 点击 预览结果 以确保你将得到你正在寻找的东西。
- 如果一切正常,请点击 插入公式 或 粘贴结果 .
在这个例子中,我们选择了以公式的形式返回匹配。 因此,你现在可以在F2中输入任何订单号,下面截图中的公式将自动重新计算。
要了解更多关于这个附加组件的信息,请访问多重VLOOKUP匹配主页,或者现在就从G Suite市场获得它。
这就是你如何做谷歌表的查询。 我感谢你的阅读,并希望下周在我们的博客上看到你!