根据列值将谷歌表格中的单元格从多行合并为一行

  • Share This
Michael Brown

合并电子表格中的重复行可能会变成最复杂的任务之一。 让我们看看谷歌公式能提供什么帮助,并了解一个为你做所有工作的智能插件。

    在谷歌表格中合并具有相同值的单元格的函数

    你不会认为谷歌表缺乏这种任务的功能吧? ;) 这里有你需要的合并行和删除电子表格中重复单元格的公式。

    CONCATENATE - 谷歌表的函数和操作符,用于连接记录

    当我想到不是简单地删除重复,而是将重复的行集中在一起时,首先想到的是谷歌表的CONCATENATE函数和安培号(&)--一个特殊的连接运算符。

    假设你有一个要看的电影清单,你想按类型来分组。

    • 在谷歌表格中,你只能用数值之间的空格来合并单元格。

      =concatenate(b2," ",c2," ",b8," "c8)

      =B2&" "&C2&" "&B8&" "&C8

    • 或者使用空格与任何其他标记,将重复的行合并在一起。

      =concatenate(a3,": ",b3," (",c3,"), ",b6," (",c6,") " )

      =A3&": "&B3&" ("&C3&"), "&B6&" ("&C6&" ) "

    一旦行被合并,你可以通过本教程的例子摆脱公式,只保留文本:将公式转换为谷歌表的值

    尽管这种方法看起来很简单,但显然远非理想。 它要求你知道重复的确切位置,而且应该由你来向公式指出它们。 因此,这对小数据集来说是可行的,但当它们变大时该怎么办?

    用UNIQUE + JOIN合并单元格但保留数据

    这个串联的公式可以为你找到谷歌表中的重复记录(并合并有唯一记录的单元格)。 然而,你仍然是负责人,必须向公式指明寻找的方向。 让我们看看它是如何在同一个待观察列表中工作的。

    1. 我在E2中使用谷歌表的UNIQUE来检查A列的基因。

      =UNIQUE(A2:A)

      该公式返回所有流派的列表,无论它们在原始列表中是否重复。 换句话说,它从A列中删除重复的内容。

      提示:UNIQUE是区分大小写的,所以要确保将相同的记录带到相同的文本大小写。 本教程将帮助你快速地批量完成这一工作。

      提示:如果你在A列添加更多的值,公式会自动用唯一的记录扩大列表。

    2. 然后我用谷歌表的JOIN功能建立我的下一个公式。

      =join(", ", filter(b:b,a:a=e2))

      这个公式的要素是如何运作的?

      • FILTER在A列扫描E2中的所有值的实例,一旦找到,它就从B列拉出相应的记录。
      • JOIN将这些值用逗号联合在一个单元格中。

      将公式复制下来,你会得到所有按体裁分类的标题。

      注意:如果你也需要年份,你将不得不在相邻的列中创建公式,因为JOIN一次只能处理一列。

      =join(", ", filter(c:c,a:a=e2))

    因此,这个选项为谷歌表配备了一些功能,可以根据重复情况将多行合并为一行。 而且是自动发生的。 我打算将完美的解决方案保留到文章的最后。 但请随时跳到它;)

    删除谷歌表格中重复行的QUERY函数

    还有一个帮助操作巨大表格的函数--QUERY。 它一开始可能看起来有点棘手,但一旦你学会如何使用它,它将成为你在电子表格中的真正伙伴。

    下面是QUERY函数本身。

    =QUERY(data, query, [headers])

    它是如何工作的。

    • 数据 (required) - 你的源表的范围。
    • 询问 (要求) - 一组确定条件的命令,以获得特定的数据。

      提示:你可以在这里获得所有命令的完整列表。

    • 页眉 (可选) - 你的源表中的头行数。

    简单地说,Google Sheets QUERY根据你指定的条件返回一些数值集。

    例子1

    我想只得到我还没有看的漫画电影。

    =QUERY(A1:C, "select * where A="Comic Book"")

    该公式处理我的整个源表(A1:C),并返回漫画电影的所有列(选择*)(其中A="Comic Book")。

    提示:我故意不指定表格的最后一行(A1:C)--以保持公式的灵活性,并在其他行被添加到表格中时返回新记录。

    正如你所看到的,它的工作原理类似于过滤器。 但在实践中,你的数据可能要大得多--有你可能需要计算的数字。

    提示:在这篇文章中查看在谷歌表格中寻找重复的其他方法。

    例2

    假设我在做一个小小的研究,并跟踪最新上映的电影的周末票房情况。

    我使用谷歌表格QUERY来删除重复的内容,并计算所有周末每部电影赚取的总金额。 我还按类型将它们按字母顺序排列。

    =QUERY(B1:D, "select B,C, SUM(D) group by B,C")

    注:对于 集团由 命令,你必须列举出所有在 选择 ,否则,该公式将不起作用。

    要按电影排序,我可以简单地改变列的顺序,以代替 集团由 :

    =QUERY(B1:D, "select B,C, SUM(D) group by C,B")

    例3

    让我们假设你成功地经营了一家书店,你记录了所有分店的库存书籍。 该清单多达数百本书。

    • 由于对《哈利-波特》系列的炒作,你决定检查一下你还有多少本由J.K.罗琳写的书。

      =QUERY('Copy of In stock'!A1:D, "select A,B,C,D where A="Rowling"")

    • 你决定更进一步,只保留《哈利-波特》系列,省略其他故事。

      =QUERY('In stock'!A1:D, "select A,B,C,D where (A='Rowling' and C contains 'Harry Potter')")

    • 使用谷歌表的QUERY功能,你也可以计算所有这些书。

      =QUERY('In stock'!A1:D, "select A,B, sum(D) where (A='Rowling' and C contains 'Harry Potter') group by A,B")

    我想现在你已经知道了QUERY函数是如何在谷歌表格中 "删除重复的内容 "的了。 虽然它是一个可供所有人使用的选项,但对我来说,它更像是一种合并重复行的迂回方式。

    提示:QUERY是如此强大,它不仅可以合并工作表内的重复内容--它还可以匹配&;将整个表合并在一起。

    更重要的是,在你学会它所使用的查询和应用这些查询的规则之前,这个函数不会有太大的帮助。

    合并重复行的最快方法

    当你放弃了所有的希望,去寻找一个简单的解决方案,根据重复的多行组合,我们为谷歌表的插件,使一个伟大的入口。)

    合并重复行扫描一个有重复记录的列,合并其他列的相应单元格,用分隔符分隔这些记录,并合并数字。 所有这些都在同一时间,只需点击几下鼠标就能完成

    还记得我的店内书单有几百行吗? 让我们看看这个工具将如何管理它。

    提示:由于该工具是Power Tools的一部分,请先安装它,然后直接进入 合并& 合并 组。

    然后点击插件图标打开它。

    1. 一旦附加组件运行,选择你想合并重复行的范围。

  • 选择那些包含重复值的列。 在我的例子中,它们是 姓氏 名字 :
  • 下一步让你决定下列事项。
    • 有价值的栏目,你会把它带到一起
    • 合并这些记录的方法:合并或计算
    • 分隔符,将单元格与文本合并。
    • 计算数字的函数

    对我来说,我想把属于一个作者的所有书都带到一个单元格中,并以断裂线分开。 如果有任何标题重复,附加组件将只显示一次。

    至于数量,我可以把每个作者的所有书加在一起。 如果有重复的书,数字会加在一起。

  • 调整好所有设置后,点击 完成 该插件将在几秒钟内完成工作并显示所有处理的信息。
  • 该工具在我的书单中合并了重复的行。 下面是我的数据现在看起来的一部分。

    另外,你可以把一个表拆成多个表,这样就有一个单独的表,每个作者都有所有的书,或者在谷歌表中突出显示重复的行。

    提示:快速浏览一下我是如何使用该插件的。

    或观看介绍该工具的简短视频。

    使用场景来半自动合并重复的内容

    合并重复行 "提供的另一种可能性是半自动使用它。

    如果你经常经历这些步骤并选择相同的选项,你可以把它们保存到场景中。 场景让你毫不费力地在相同或不同的数据集上重复使用相同的设置。

    你将需要给你的方案一个名称&;指定一个工作表和它应该处理的范围。

    你在这里保存的设置可以快速从谷歌表格菜单中调用。 该插件将立即开始合并重复的行,为你节省一些额外的时间。

    我真心鼓励你更好地了解该工具及其选项,因为谷歌表是 "黑暗和充满恐惧的",如果你知道我的意思;)

    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.