在 Excel 中处理文本文件

数据挖掘 数据集 擅长
2022-02-19 09:24:42

我在 A 列中有一个包含长文本的 excel 文件。我正在寻找以“popul”开头的单词,例如 Popular 和 populate 。我可以通过公式找到这些单元格:

    =SEARCH("popul",A1,1)

我想要一个函数,它返回以popul 开头的整个单词,例如popular 和populate。

1个回答

我不是 Excel 专家,因为我通常使用 Python 或 R,但这可能会让你开始,直到 Excel 专家出现。同时,如果您能澄清您的问题,将会有所帮助。而且您应该知道,search只会找到第一个匹配项的索引,而不是字符串中的所有匹配项。如果你只需要第一次命中,你可以使用

=MID(A1,SEARCH("popul",A1,1),IFERROR(FIND(" ",A1,SEARCH("popul",A1,1)),LEN(A1)+1)-SEARCH("popul",A1,1))

虽然我不能声称这是最好的方法。您确实没有指定您希望结果出现在哪里,它们应该如何显示,或者您是否只有一个需要搜索的单元格。了解您拥有的 Excel 版本也将有所帮助。我还将提供一种粗略的方法来返回字符串中的所有命中:

细胞

单元格 A1 包含字符串,B1 没有公式,如果您用完了“n/a”,您可以通过填写来扩展列 B、C 和 D。公式如下:

B3及以下使用

=IF(C2+1<LEN($A$1),C2+1,"n/a")

C2及以下使用

=IFERROR(FIND(" ",$A$1,SEARCH("popul",$A$1,B2)),LEN($A$1)+1)

D2及以下使用

=IFERROR(MID($A$1,SEARCH("popul",$A$1,B2),C2-SEARCH("popul",$A$1,B2)),"")

如您所见,除了处理字符串末尾的匹配外,几乎没有错误检查。最后,如果您要为此使用 Excel,您可能应该创建一个用户定义的函数或使用 VBA 而不是单元格内公式。