Я не уверен насчет Mac Environment, но это стандартная формула Excel, которая должна работать.
Настройка:
Имена цветов в ячейке: A1:A3
Исходные данныеначинается с ячейки: B1
Формула для ячейки B1
данные:
=TRIM(SUBSTITUTE(" "&B1&" "," "&IFERROR(LOOKUP(2^15,SEARCH(" "&$A$1:$A$3&" "," "&B1&" ",1),$A$1:$A$3),"|")&" "," "))
Скопируйте столько, сколько необходимо.
Редактировать
Просто, чтобы дать идею, формула замены двух слов будет выглядеть следующим образом:
=TRIM(SUBSTITUTE(SUBSTITUTE(" "&B1&" "," "&IFERROR(LOOKUP(2^15,SEARCH(" "&$A$1:$A$3&" "," "&B1&" ",1),$A$1:$A$3),"|")&" "," ")," "&IFERROR(LOOKUP(2^15,SEARCH(" "&$A$1:$A$3&" "," "&SUBSTITUTE(" "&B1&" "," "&IFERROR(LOOKUP(2^15,SEARCH(" "&$A$1:$A$3&" "," "&B1&" ",1),$A$1:$A$3),"|")&" "," ")&" ",1),$A$1:$A$3),"|")&" "," "))
Это станет только неуправляемым после этой точкиесли вы хотите иметь три слова.
UDF - Пользовательская функция записывается с использованием VBA
.Ниже приведен код, который вы можете использовать в качестве отправной точки:
Public Function ReplaceWords(rngSource As Range, rngReplace As Range, strDelim As String) As String
Dim varInput
Dim rngFound As Range
varInput = Split(rngSource.Value, strDelim)
For i = LBound(varInput) To UBound(varInput)
Set rngFound = rngReplace.Find(varInput(i))
If Not rngFound Is Nothing Then varInput(i) = ""
Next i
ReplaceWords = Application.Trim(Join(varInput, strDelim))
End Function