合并2个谷歌表并根据共同记录更新数据

  • Share This
Michael Brown

今天的博文介绍了合并2个Google表的所有方法。 你将使用VLOOKUP、INDEX/MATCH、QUERY和合并表插件,根据共同列的匹配,从另一个表中的记录更新一个表中的单元格。

    使用VLOOKUP功能合并谷歌表

    当你需要匹配和合并两个谷歌表时,你可能首先求助于VLOOKUP功能。

    语法& 用途

    这个函数搜索你指定的某一列的某一键值,并从同一行中拉出一条相关记录到另一个表或工作表中。

    虽然谷歌表的VLOOKUP通常被认为是困难的功能之一,但它实际上是相当直接的,甚至在你了解它之后也很容易。

    让我们快速看一下它的组成部分。

    =VLOOKUP(search_key, range, index, [is_sorted])
    • 搜索_键 是你要找的键值,它可以是任何文本字符串、数字或单元格引用。
    • 范围 是一组单元格(或一个表格),你将在其中寻找 搜索_键 以及你将从哪里提取相关记录。

      注意:谷歌表格中的VLOOKUP总是扫描 范围 搜索_键 .

    • 指数 是该列中的编号 范围 你想从哪里提取数据。

      例如,如果你要搜索的范围是A2:E20,你需要从E列获取数据,就输入5。 但如果你的范围是D2:E20,你需要输入2来获取E列的记录。

    • [is_sorted] 是唯一可以省略的参数。 它用于说明带有键值的列是否被排序(TRUE)或不排序(FALSE)。 如果是TRUE,函数将使用最接近的匹配,如果是FALSE,则使用完整的匹配。 当省略时,默认使用TRUE。

    提示:我们有一份关于谷歌表格中VLOOKUP的详细指南。 请查看它以了解更多关于该函数、其特殊性& 限制,并获得更多的公式实例。

    考虑到这些论点,让我们使用VLOOKUP来合并两个Google表单。

    假设我在Sheet2中有一个包含浆果和它们的ID的小表。 但库存的可用性是未知的。

    让我们把这个表称为主表,因为我的目标是要把它填进去。

    在Sheet1中还有一个表,所有的数据都已到位,包括库存的可用性。

    我把它称为查找表,因为我将查看它以获得数据。

    我将使用谷歌表的VLOOKUP功能来合并这两张表。 该功能将匹配两张表中的浆果,并将相应的 "股票 "信息从查询中拉入主表。

    =VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)

    下面是这个公式如何准确地合并两个谷歌表。

    1. 它在Sheet1(查找表)的B列中查找B2(主表)的值。

      注意:记住,VLOOKUP扫描的是指定范围的第1列------。 表1!$B$2:$C$10 .

      注意:我对这个范围使用绝对引用,因为我把公式复制到下一列,因此我需要这个范围在每一行都保持不变,这样结果就不会中断。

    2. 最后的FALSE表示B列中的数据(在查找表中)没有被排序,所以只考虑完全匹配。
    3. 一旦出现匹配,Google Sheets VLOOKUP就会从该范围的第二列(C列)提取相关记录。

    隐藏谷歌表格中VLOOKUP返回的错误 - IFERROR

    但那些#N/A的错误怎么办?

    幸运的是,有一种方法可以使这些单元格保持空洞。

    只需将你的谷歌表VLOOKUP包裹在IFERROR中。

    =IFERROR(VLOOKUP(B2,Sheet1! $B$2:$C$10,2,FALSE),""

    提示:使用本指南中的解决方案捕获并修复您的Google Sheets VLOOKUP可能返回的其他错误。

    匹配& 一次性更新整列的记录 - ArrayFormula

    还有一件事我想提一下,就是如何一次性匹配和合并整个列的谷歌表数据。

    这里没有什么花哨的,只是多了一个函数--ArrayFormula。

    只需将你在谷歌表VLOOKUP中的单格关键记录替换成整列,并将这整个公式放在ArrayFormula内。

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),")

    这样一来,你就不需要将公式复制到下一列,ArrayFormula会立即向每个单元格返回正确的结果。

    虽然谷歌表格中的VLOOKUP对于这种简单的任务来说是完美的,但它也有一些限制。 这里有一个缺点:它不能看它的左边。 无论你指示什么范围,它总是扫描其第一列。

    因此,如果你需要合并2个谷歌表,并根据浆果(第二列)提取ID(第一列数据),VLOOKUP不会有帮助。 你只是无法建立一个正确的公式。

    在这样的情况下,谷歌表的INDEX MATCH进入了游戏。

    匹配& 使用INDEX MATCH duo合并Google表单

    INDEX MATCH,或者说 INDEX & MATCH,实际上是两个不同的 Google Sheets 函数。 但当它们一起使用时,就像一个次一级的 VLOOKUP。

    是的,他们也合并谷歌表:根据共同的关键记录,用另一个表中的记录更新一个表中的单元格。

    但他们做得更好,因为他们忽略了VLOOKUP的所有那些限制。

    我今天不会介绍所有的基础知识,因为我在这篇博文中已经介绍过了。 但我将给你几个INDEX MATCH公式的例子,这样你就可以看到它们是如何直接在Google电子表格中工作的。 我将使用上面的同样的样本表格。

    谷歌表格中的INDEX MATCH操作

    首先,让我们合并这些谷歌表,并更新所有匹配浆果的库存可用性。

    =INDEX(Sheet1! $C$1:$C$10,MATCH(B2,Sheet1! $B$1:$B$10,0))

    INDEX & MATCH这样一起使用时如何工作?

    1. MATCH查看B2,并在Sheet1的B列中搜索完全相同的记录。 一旦找到,它将返回包含该值的行的编号--在我的例子中是10。
    2. INDEX也会进入Sheet1的第10行,只是它从另一列--C中取值。

    现在,让我们试着测试一下INDEX MATCH对谷歌表VLOOKUP不能做的事情--合并表和用所需的ID更新最左边的列。

    =INDEX(Sheet1! $A$2:$A$10,MATCH(B2,Sheet1! $B$2:$B$10,0))

    简单-容易 :)

    在谷歌表格中处理由INDEX MATCH返回的错误

    让我们更进一步,摆脱那些没有匹配的单元格中的错误。 IFERROR将再次提供帮助。 只要把你的谷歌表INDEX MATCH作为其第一个参数。

    例1.

    =IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),""

    例2.

    =IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),""

    现在,你如何使用INDEX MATCH合并这些谷歌表,并一次性更新整个列中的所有单元格?

    有一个小问题:ArrayFormula不能和这两个一起使用。

    你需要将INDEX MATCH公式复制到该列,或者使用谷歌表格的QUERY功能作为替代。

    合并谷歌表单& 使用QUERY更新单元格

    Google Sheets QUERY是电子表格中最强大的功能。 考虑到这一点,它提供一种合并表格的方法也就不足为奇了--匹配&;合并来自不同表格的值。

    =QUERY(data, query, [headers])

    提示:如果你以前从未使用过谷歌表的QUERY,本教程将让你了解其奇特的语言。

    要更新的QUERY公式应该是什么样子的? 股票 列的实际数据?

    =QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&" ")

    • 谷歌表的QUERY查看我的查找表(Sheet1,有我需要拉到主表的记录)。
    • 并返回所有来自C列的单元格,其中B列与我的主表中的浆果相匹配。

    让我失去那些没有匹配的单元格的错误。

    =IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&"),""

    嗯,那就更好了 :)

    从不同的谷歌电子表格中合并表格 - IMPORTRANGE功能

    还有一个功能我想提一下,它很重要,因为它可以让你合并位于不同谷歌电子表格(文件)中的工作表。

    该函数被称为IMPORTRANGE。

    =IMPORTRANGE("spreadsheet_url", "range_string")
    • 前者是那个电子表格的链接,你从那里提取数据。
    • 后者指的是工作表&;你想从该电子表格中获取的范围。

    注意:我强烈建议通过谷歌文档来了解这个功能,这样你就不会错过其工作的任何重要细微差别。

    想象一下,你的查询表(含参考数据)在电子表格2(又称查询表)中。 你的主表在电子表格1(主电子表格)中。

    注意:为了让IMPORTRANGE发挥作用,你必须同时连接这两个文件。 虽然Google Sheet建议在你在单元格中输入公式后有一个按钮,然后点击 进入 这个分步骤的指南将帮助你。

    下面是使用IMPORTRANGE将不同文件中的Google表单与你今天早些时候学到的每个函数合并的例子。

    例1.IMPORTRANGE+VLOOKUP

    在VLOOKUP中使用IMPORTRAGE作为范围,合并2个独立的谷歌电子表格。

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE)"))

    例2.IMPORTRANGE + INDEX MATCH

    至于INDEX MATCH & IMPORTRANGE,公式变得更加庞大,因为你需要两次引用另一个电子表格:作为INDEX的范围和作为MATCH的范围。

    =IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$B$10"),0)

    例3.IMPORTRANGE + QUERY

    这个串联的公式是我个人的最爱。 当它们一起使用时,几乎可以处理电子表格中的任何事情。 从独立的电子表格合并谷歌表也不例外。

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&"),""

    呜!

    这就是所有的函数& 公式。

    你可以自由选择任何函数&;通过上面的例子建立你自己的公式...。

    或...

    ...试试一个特殊的工具,它可以为你合并谷歌表!;)

    无公式的方式来匹配& 合并数据 - 合并表为Google表的插件

    如果你没有时间建立甚至学习公式,或者你只是在寻找基于共同记录的最简单的数据连接方式,合并表将是完美的。

    你所需要做的就是在5个用户友好的步骤中勾选复选框。

    1. 选择你的主表
    2. 选择你的查询表
    3. 用复选框标记关键列(那些包含要匹配的记录)。
    4. 选择要更新的列。

  • 调整额外的选项,例如,用颜色或在状态栏中标记更新的记录,等等。
  • 甚至还有可能将所有选定的选项保存到一个场景中,并在需要时重新使用。

    观看这个3分钟的演示视频,看看它是如何工作的。

    我鼓励你从谷歌表商店安装你的合并表,并按照这些说明尝试用另一个表的信息来更新你自己的表。

    带公式的电子表格示例

    合并谷歌表&;更新数据--公式示例(复制一份文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.