Excel:搜索信息

时间:2015-06-10 08:49:54

标签: excel worksheet-function

伙计我需要在文本中找到具体信息,并将其写在列中。

所以,我列L 长描述,我有列M ,其中包含我需要在中找到的字词详细说明。找到单词后,在列N 中将该单词写入与长描述相同的行。 我试过编码这个但不起作用。

=INDEX(M1:M4;MAX(IF(ISERROR(FIND(M1:M4;L1));-1,1)*(ROW(M1:M4)-ROW(M1)+1)))

这是我的意思.Pleaaase真的需要帮助。

enter image description here

1 个答案:

答案 0 :(得分:0)

这个UDF应该可以解决这个问题 - 除了你可以在其中看到的评论之外,我不会详细描述它的作用,因为它不是非常复杂的代码片段,但是如果有的话你不明白的东西,随便问。

Option Explicit

Function find_keywords(cell_to_search As Range, range_of_keywords As Range) As String
  Dim c As Range

  ' Check for the value of each cell in the range of keywords passed to the function
  For Each c In range_of_keywords

    ' If the string-value we search for is in the cell we check against, we add it to the return-value
    If InStr(1, cell_to_search.Text, c.Text, vbTextCompare) > 0 Then

      ' We don't want a comma before the first keyword we add, so check for the length of the return value
      If Len(find_keywords) > 0 Then
        find_keywords = find_keywords & ", "
      End If

      find_keywords = find_keywords & c.Text
    End If

  Next

End Function

您需要paste the code above into a module in your workbook,然后将公式输入您希望返回值正常的单元格中:

What the formula looks like when used in worksheet