Excel 有没有办法提取所有包含特定单词的句子?

Excel 有没有办法提取所有包含特定单词的句子?,excel,Excel,我想提取所有包含“苹果”一词的句子,包括小写和大写。结果可以一起显示在单元格B1中,也可以分离到其他单元格中 单元格A1中的示例文本: 一天一苹果,医生远离我。但我觉得它们不好吃。我从来都不喜欢他们。苹果不是我最喜欢的,梨是 有Excel公式吗?谢谢。这在Open Office、Google Docs、Excel等应用程序中有效: =IF(ISNUMBER(SEARCH("apple",A22)),A22,"") 它给出以下输出: 句子串搜索 你可能会用一个很长的公式来表达几句话,但我不认为它

我想提取所有包含“苹果”一词的句子,包括小写和大写。结果可以一起显示在单元格B1中,也可以分离到其他单元格中

单元格A1中的示例文本: 一天一苹果,医生远离我。但我觉得它们不好吃。我从来都不喜欢他们。苹果不是我最喜欢的,梨是


有Excel公式吗?谢谢。

这在Open Office、Google Docs、Excel等应用程序中有效:

=IF(ISNUMBER(SEARCH("apple",A22)),A22,"")
它给出以下输出:

句子串搜索 你可能会用一个很长的公式来表达几句话,但我不认为它能解决你的任务。所以我开发了一个用户定义的函数UDF。将代码复制到标准模块中

Function SSS(ByVal SearchString As String, ByVal SearchText As String, _
        Optional ByVal SplitString As String = ".", _
        Optional ByVal JoinString As String = " ") As String

    Dim vnt As Variant  ' String Array
    Dim i As Long       ' String Array Element Counter
    Dim strB As String  ' String Builder

    vnt = Split(SearchText, SplitString)
    ' Loop through elements of String Array.
    For i = 0 To UBound(vnt) - 1 ' "-1" ie. Ignore text after last Split String.
        ' Check value of current element of String Array against SearchString.
        ' "vbTextCompare" determines case-INsensitivity (AA = aa = Aa = aA).
        If InStr(1, vnt(i), SearchString, vbTextCompare) Then
            ' Build the String
            If strB <> "" Then ' For all but the first found SearchString.
                strB = strB & JoinString & Trim(vnt(i)) & SplitString
              Else             ' Only for the first found SearchString.
                strB = Trim(vnt(i)) & SplitString
            End If
        End If
    Next

    SSS = strB

End Function
要获得以下结果:

An apple a day keeps the doctor away. Apples aren’t my favourite, pears are.
评论 在您的情况下,可以忽略第3个和第4个参数的参数:

第三个参数是SplitString,默认情况下是一个点。 第四个参数是JoinString,默认情况下是一个空格。
尝试使用find函数或substitute将每个句子放在自己的单元格中,或者单个单元格中有多个句子??如果不使用find,最好使用搜索,搜索不区分大小写。那么你可能会失去更低的。谢谢,那更干净。我按照您的建议将答案更改为使用搜索。
An apple a day keeps the doctor away. Apples aren’t my favourite, pears are.