ОБНОВЛЕНИЕ:
Вот функция.
Требуется 2 параметра: 1-я - это ячейка, которую вы хотите найти (лист 1, А1), а вторая - столбцы, составляющие справочную таблицу (лист 2, А: В). Он возьмет все термины на листе 2 A и из них сделает глоссарий массива вариантов, причем ключ A - это ключ, а B - значение. Если он найдет одну из строк в ячейке, он поместит ее в новую строку с именем result. В качестве личного выбора я сделал глянец статическим, чтобы он работал быстрее в случае, если вы запускаете эту функцию одновременно для нескольких ячеек, но вы можете изменить ее на Dim, если хотите.
Итак, для А1 вы бы написали:
=FindString(A1,Sheet2!A:B)
Вот код, пожалуйста, попробуйте его, и я надеюсь, что это поможет или, по крайней мере, даст вам хорошее начало.
Function FindString(ByVal text As String, _
ByVal term_list As range) As String
Dim result As String
Dim i As Long
Static glossary As Variant
glossary = range(term_list.Cells(1, 1).End(xlDown), term_list.Cells(1, 2))
For i = 1 To UBound(glossary)
If InStr(text, glossary(i, 1)) <> 0 Then
result = (glossary(i, 1) & " = ") & (glossary(i, 2) & vbLf) & result
End If
Next
If Len(result) <> 0 Then
result = Left$(result, (Len(result) - 1))
End If
FindString = result
End Function