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