Уродливая одношаговая формула (может быть красивым решением):
=MID(B2,FIND("), "&A2&" (","), "&B2)+LEN(A2)+2,FIND(")",B2,FIND("), "&A2&" (","), "&B2)+1)-FIND("), "&A2&" (","), "&B2)-LEN(A2)-2)
Но обычно для такого случая лучше использовать регулярное выражение, чтобы помочь ...
Сначала вам нужно подготовить функцию VBA с регулярным выражением. В справочнике VBA добавьте «Регулярное выражение Microsoft VBScript 5.5». Затем добавьте это в некоторый файл .xlam, который вы будете продолжать использовать как плагин Excel, или поместите локально в книгу .xlsm.
Public ThisRE As New RegExp
Public Function ReplaceRE(ByVal FromStr As String, ByVal PatternStr As String, ByVal ByStr As String) As String
'$1 as first bracket
ThisRE.Pattern = PatternStr
ThisRE.Global = True
ReplaceRE = ThisRE.Replace(FromStr, ByStr)
End Function
Формула для использования обычной express:
=ReplaceRE(B3,"^.*(^|, )"&A3&" \(([^)]+)\).*","$2")