Я пытаюсь выяснить формулу или набор формул, чтобы получить два имени в ячейке. Например, данные в одной ячейке могут содержать «Jess Staley & Adam Fernandez» или «Jess & Adam Fernandez», и я пытаюсь получить формулу для включения «Jess & Adam». У меня есть формула для получения первого имени, но я не могу получить второе имя после &. Любая помощь будет оценена.

1 ответ1

1

Вы можете использовать массив массивов TEXTJOIN:

=TEXTJOIN(" & ",TRUE,LEFT(TRIM(MID(SUBSTITUTE(A1,"&",REPT(" ",99)),(ROW($A$1:$A$10)-1)*99+1,99)),FIND(" ",TRIM(MID(SUBSTITUTE(A1,"&",REPT(" ",99)),(ROW($A$1:$A$10)-1)*99+1,99))&" ")-1))

Будучи формулой массива, она должна быть подтверждена Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

TEXTJOIN был представлен в Office 365 Excel.

Формула разделяется на & , создавая большое пустое пространство для посадки, затем циклически проходя по каждому разделу и обрезая результаты.

Затем мы находим первый пробел в каждом разделе и возвращаем первое слово слева от первого пробела.

Это вернет только первое слово в каждом разделе, поэтому Peggy Sue Smith станет Peggy не Peggy Sue


Теперь, если вы можете гарантировать, что будет только два имени, тогда вы можете использовать эту формулу независимо от версии:

=LEFT(A1,FIND(" ",A1&" ")-1) & IF(ISNUMBER(FIND("&",A1))," & " & LEFT(TRIM(MID(SUBSTITUTE(A1,"&",REPT(" ",99)),99,99)),FIND(" ",TRIM(MID(SUBSTITUTE(A1,"&",REPT(" ",99)),99,99))&" ")-1),"")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .