Надлежащим способом решения этой проблемы был бы answer @ 1002 * @ shrivallabha.redij, но для развлечения и ради альтернативных средств; попробуйте комбинацию FILTERXML
, TEXTJOIN
и некоторых XPATH
волхвов c =)
Вариант 1): Ваш оригинальный вопрос; удалите трижды имя в ячейке с 4 именами:
=TEXTJOIN(" ",1,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[position()!=3]"))

Вариант 2): Те же правила как указано выше, но проверьте, существует ли сначала 4 имени:
Хотя первая опция также удалит «ali» из «reem fahad ali», мы можем применить несколько классных OR
logi c. Поскольку Excel использует XPATH 1.0
, мы должны применить |
к mimi c выражению. Подробнее об этом здесь :
=TEXTJOIN(" ",1,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[count(//s)<4]|//s[position()!=3]"))
Теперь мы проверим, есть ли на самом деле 4 имени в ячейке. Если меньше, то ничего не происходит, в противном случае имя ячейки в ячейке будет удалено.

Вариант 3: Те же правила, что и выше, но удалите диапазон имен:
Если второй вариант удалит третье имя из ячейки, вам может быть интересно удалить 3-ю до второй-последней ячейки. Это означает, что мы можем применить это к именам больше 4 и избежать использования первых двух и последних составных:
=TEXTJOIN(" ",1,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[count(//s)<4]|//s[position()<3 or position()=last()]"))

Примечание 1: Введите все вышеуказанные параметры с помощью Ctrl Сдвиг Введите
Примечание 2: Ни в коем случае я XPATH
гуру. Так что, возможно, другие (лучшие) выражения там.
Удачи!