如何使用googlesheets查询选择不规则的重复项?

iyfamqjs  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(635)

我有一张186000行的谷歌表。我已经包括了一个虚拟电子表格,让你对数据的想法。我需要选择所有重复项,其中包括名字可能不匹配的行(即cathy和catherine),但它们仍然引用同一个人。还有一些情况下,地址可能略有不同(比如在一行中省略“ave”,但在另一行中包含它)。
我需要编写一个查询来解释所有这些示例,包括普通的重复示例。或者我可以做多个查询,只需将结果复制到一个电子表格中。无论如何,我都不知所措。
虚拟电子表格。我已经包括了一个例子,每一个案件,我试图说明(共3)。

6mw9ycah

6mw9ycah1#

我有些有用的东西。请参见我的示例表:https://docs.google.com/spreadsheets/d/19h28go-nzunw6zexcmd61qjysukja3q2ci2hu3omuag/edit?usp=sharing
基本上,我为每条记录建立一个键值,与您要求的一样。所有的姓,部分的名,部分的地址和邮政编码。其他变化很容易添加。
公式只是这些字段部分的字符串串联,如下所示:

=ArrayFormula(
  IF(ROW(A2:A)=2,"DupeKey",
    IF(A2:A<>"",A2:A &LEFT(B2:B,$N$1) &LEFT(G2:G,$N$1) &K2:K,"")))

一个有价值的选择是允许从名字和地址改变所需匹配子字符串的长度。通过在单元格n1中选择一个长度为1到6的子字符串,并查看它是如何更改找到的重复记录的,可以对公式进行控制。子串长度越短,发现的重复(或可能重复)记录就越多。
条件格式化用于突出显示重复记录。您可以使用列过滤器按不同的数据列排序—将所有重复项放在顶部,按n列按z-a顺序排序,并排除空格。
请注意,这并不完美。如果有人意外地在数据字段的开头键入空格或其他内容,则不会将其视为重复。需要更好的逻辑来捕捉这些。
如果这有帮助,请告诉我。

nwnhqdif

nwnhqdif2#

您可以使用以下公式:
如果单元格b3与“john”匹配,则写入“match”,如果不匹配,则写入“no” =IF(REGEXMATCH(B3,"John"), "match", "no") 如果单元格f2包含单元格b3的内容,则写入“匹配”,如果不匹配,则写入“否” =IF(SEARCH(B3, F2)>0,"match","no")

参考文献:

正则表达式匹配
搜索

相关问题