首页 > 解决方案 > 如何从 Google Sheet 中的单词列表中过滤基本的英语单词

问题描述

我使用的工具: Google 表格(在这种情况下我不使用 Google Apps 脚本。)

这个问题的目标: 我想通过使用谷歌表格功能从单词列表中排除基本的英语单词。这个问题的目的是我想用谷歌表格进行文本挖掘。

目前情况:

有一列有一些英文单词。该表是从下面的这些句子中获得的。

工作表名称:Sheet1

一个
1 字。 字数
2 一世 4
3 2
4 2
5 一个 2
6 1
7 1
8 命名为 1
9 海洋 1
10 标题 1
11 罗塞塔 1
12 . 4
13 1
14 这个 1

从这样的表中,我想过滤一些基本的英语单词,例如ihavedoa和“ . ” 。

如果是关于过滤少量值,我知道这个解决方案。我可以使用 filter() 函数来过滤ihavedoa和 " . " 。

= filter (A2:12, A2:12<>"i",A2:A12<>"have", A2:A12 <> "do", A2:A12<>"a", A2:A12 <>".")

但是,如果要过滤更多的值,这个过滤函数就会变长。那将缺乏可读性。

 = filter (A2:12, A2:12<>"i",A2:A12<>"have", A2:A12 <> "do", A2:A12<>"a", ..., A2:A12 <>".")

为了防止它,我准备了以下具有基本英语单词的列表。

工作表名称:Sheet2

一个
1 一世
2
3
4
5 我们
6 他们
7
... ...
1000 .

使用上面的列表,我尝试从 Sheet!A1:A 中过滤值,但它不起作用。

在 Sheet1 的 C 列执行此功能。

=filter(A2:A, A2:A<>Sheet2!A2:A)

作为功​​能的结果,这没有创造任何东西。此函数不排除在 Sheet2 中指定的值。

问题: 为了实现这个功能与谷歌表格功能的一些组合,我应该怎么做?

标签: google-sheetsgoogle-sheets-formula

解决方案


尝试

=filter(A2:A, not(regexmatch(A2:A, textjoin("|", 1, Sheet2!A2:A))))

看看这是否有效?如果没有,请分享您的电子表格副本,以便我们仔细查看。

更新:由于某些标点符号在正则表达式中具有特殊含义,最好不要将它们包含在列表(sheet2)中,并将它们添加到'字符类中的 textjoin() 之前)。这将使公式看起来像这样

=filter(A2:A, not(REGEXMATCH(A2:A,"[.,:?]|"&textjoin("|", TRUE, Sheet2!A2:A))))

还要确保 textjoin() 的第二个参数设置为“TRUE”。

在此处输入图像描述


推荐阅读