Сначала введите следующую пользовательскую функцию (UDF) в стандартном модуле:
Public Function Keyword(r1 As Range, r2 As Range) As Variant
v1 = r1.Text
For Each r In r2
If InStr(v1, r.Text) = 1 Then
Keyword = 1
Exit Function
End If
Next r
Keyword = ""
End Function
Затем в B1 введите:
=keyword(A1,$D$1:$D$2)
и копирование вниз:
Пользовательские функции (UDF) очень легко установить и использовать:
- ALT-F11 открывает окно VBE
- ALT-I ALT-M открывает новый модуль
- вставляет содержимое и закрывает окно VBE
Если вы сохраните книгу, UDF будет сохранен вместе с ней.Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx
В удалить UDF:
- откройте окно VBE, как указано выше
- очистите код
- закройте окно VBE
до используйте UDF из Excel:
= myfunction (A1)
Чтобы узнать больше о макросах в целом, см.
http://www.mvps.org/dmcritchie/excel/getstarted.htm
и
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
и подробности о UDF см .:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Для работы этой функции необходимо включить макросы!
РЕДАКТИРОВАТЬ # 1:
Чтобы использовать UDF для полного столбца, используйте эту версию вместо:
Public Function Keyword(r1 As Range, r2 As Range) As Variant
v1 = r1.Text
Set r2 = Intersect(r2, r2.Parent.UsedRange)
For Each r In r2
If r.Value <> "" Then
If InStr(v1, r.Text) = 1 Then
Keyword = 1
Exit Function
End If
End If
Next r
Keyword = ""
End Function