Table of contents
合并电子表格中的重复行可能会变成最复杂的任务之一。 让我们看看谷歌公式能提供什么帮助,并了解一个为你做所有工作的智能插件。
在谷歌表格中合并具有相同值的单元格的函数
你不会认为谷歌表缺乏这种任务的功能吧? ;) 这里有你需要的合并行和删除电子表格中重复单元格的公式。
CONCATENATE - 谷歌表的函数和操作符,用于连接记录
当我想到不是简单地删除重复,而是将重复的行集中在一起时,首先想到的是谷歌表的CONCATENATE函数和安培号(&)--一个特殊的连接运算符。
假设你有一个要看的电影清单,你想按类型来分组。
- 在谷歌表格中,你只能用数值之间的空格来合并单元格。
=concatenate(b2," ",c2," ",b8," "c8)
=B2&" "&C2&" "&B8&" "&C8
- 或者使用空格与任何其他标记,将重复的行合并在一起。
=concatenate(a3,": ",b3," (",c3,"), ",b6," (",c6,") " )
=A3&": "&B3&" ("&C3&"), "&B6&" ("&C6&" ) "
一旦行被合并,你可以通过本教程的例子摆脱公式,只保留文本:将公式转换为谷歌表的值
尽管这种方法看起来很简单,但显然远非理想。 它要求你知道重复的确切位置,而且应该由你来向公式指出它们。 因此,这对小数据集来说是可行的,但当它们变大时该怎么办?
用UNIQUE + JOIN合并单元格但保留数据
这个串联的公式可以为你找到谷歌表中的重复记录(并合并有唯一记录的单元格)。 然而,你仍然是负责人,必须向公式指明寻找的方向。 让我们看看它是如何在同一个待观察列表中工作的。
- 我在E2中使用谷歌表的UNIQUE来检查A列的基因。
=UNIQUE(A2:A)
See_also: 在Excel中计算移动平均线:公式和图表该公式返回所有流派的列表,无论它们在原始列表中是否重复。 换句话说,它从A列中删除重复的内容。
提示:UNIQUE是区分大小写的,所以要确保将相同的记录带到相同的文本大小写。 本教程将帮助你快速地批量完成这一工作。
提示:如果你在A列添加更多的值,公式会自动用唯一的记录扩大列表。
- 然后我用谷歌表的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的一部分,请先安装它,然后直接进入 合并& 合并 组。
然后点击插件图标打开它。
- 一旦附加组件运行,选择你想合并重复行的范围。
- 有价值的栏目,你会把它带到一起
- 合并这些记录的方法:合并或计算
- 分隔符,将单元格与文本合并。
- 计算数字的函数
对我来说,我想把属于一个作者的所有书都带到一个单元格中,并以断裂线分开。 如果有任何标题重复,附加组件将只显示一次。
至于数量,我可以把每个作者的所有书加在一起。 如果有重复的书,数字会加在一起。
该工具在我的书单中合并了重复的行。 下面是我的数据现在看起来的一部分。
另外,你可以把一个表拆成多个表,这样就有一个单独的表,每个作者都有所有的书,或者在谷歌表中突出显示重复的行。
提示:快速浏览一下我是如何使用该插件的。
或观看介绍该工具的简短视频。
使用场景来半自动合并重复的内容
合并重复行 "提供的另一种可能性是半自动使用它。
如果你经常经历这些步骤并选择相同的选项,你可以把它们保存到场景中。 场景让你毫不费力地在相同或不同的数据集上重复使用相同的设置。
你将需要给你的方案一个名称&;指定一个工作表和它应该处理的范围。
你在这里保存的设置可以快速从谷歌表格菜单中调用。 该插件将立即开始合并重复的行,为你节省一些额外的时间。
我真心鼓励你更好地了解该工具及其选项,因为谷歌表是 "黑暗和充满恐惧的",如果你知道我的意思;)