【问题标题】:How to find specific substrings in Excel spreadsheet?如何在 Excel 电子表格中查找特定的子字符串?
【发布时间】:2016-07-30 02:08:06
【问题描述】:

我正在处理一个 Excel 电子表格,其中包含一个带有产品说明的列。一些描述在描述中将“那个”这个词附加到它之后或之前的词上。即“thatensures”、“thathave”、“thatwill”、“knowthat”等。

我可以使用或创建任何类型的过滤器来帮助我在特定的描述列中找到所有这些类型的词吗?谢谢!

【问题讨论】:

  • AutoFilter with contains "that"
  • Scott's 是最简单的答案。另一个想法是使用=find() 函数来查找所有带有“that”的字符串,但是根据您的问题,如果您想在找到列表后做任何事情并不清楚。
  • 如果任务具体是“查找以 'that' 开头或结尾的单词”,我认为您需要使用正则表达式(或一系列 If Then)
  • 编辑:一旦我确定了所有包含这样一个词的单元格,我想手动进行修复。关心的是找到包含这样一个词的所有单元格。此外,自动过滤“that”不起作用,因为它会给我每个包含“that”这个词的单元格,而这不是我想要的。
  • @leo - 明确地说,我没有建议对“that”这个词进行自动过滤,而是将AutoFilter中的功能用于contains“that”,而不是@987654325 @ “那”。这会起作用,但也会返回单元格完全等于“那个”的实例。

标签: excel filter substring


【解决方案1】:

如果您的示例数据集是

会的

知道

然后您可以使用=IFERROR(SEARCH("that",<cell#>,1),0),如果未找到“that”,则返回 0,如果找到,则返回“that”位置的正整数。在这个例子中,函数将返回

1

1

0

5

请注意,这将检测“that”是一个独立单词的情况,即前面有一个空格。然后,您可以根据值是 0 还是 >=1 进行排序或过滤。

编辑

对于“that”是独立字符串的情况,请使用相同的=IFERROR(SEARCH(" that",<cell#>,1),0),但在搜索字符串之前有一个空格。然后,您可以比较存在“that”(正数)的字符串,并根据它是否是独立的(也是正数)进行过滤

例如,

会的

知道

知道

产量

1 | 0

1 | 0

0 | 0

5 | 0

2 | 1

如果每行中的两个数字都 >=1,那么您可以省略这些情况

【讨论】:

    【解决方案2】:

    假设A1:A7中的以下列表

    thatensures
    thatwill
    thathave
    knowthat
    that
    mouse
    knowthat
    

    将此公式放入 B1 =IF(A1="that",A1,IF(ISERROR(FIND("that",A1)),A1,SUBSTITUTE(A1,"that",""))) 并向下拖动。

    结果将是:

    ensures
    will
    have
    know
    that
    mouse
    know
    

    【讨论】:

    • =IF(AND(LOWER(A1)<>"that",ISNUMBER(SEARCH("that",A1)),NOT(ISNUMBER(SEARCH(" that",A1))),NOT(ISNUMBER(SEARCH("that ",A1)))),SUBSTITUTE(A1,"that",""),A1) 我认为 OP 想要保留 that staysthis that staysAnd this that
    • @ScottCraner - 我觉得我回答得太早了,因为不完全清楚 OP 究竟 想要什么。有时我最终会这样做,它会有所帮助......其他时候......
    • 这就像有时在转盘上蒙着眼睛发射弓箭
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多