Формула для удаления текста между двумя подчеркиваниями в Excel? - PullRequest
0 голосов
/ 02 июля 2018

Значение в ячейке A2 - "Blabla_Donkey_Rhino". Я бы хотел формулу, которая удаляет текст между двумя подчеркиваниями и одним подчеркиванием, чтобы вернуть значение "Blabla_Rhino"

в камере

A2

Blabla_Donkey_Rhino

Desired Output

Blabla_Rhino

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

VBA это простой UDF

Function firstAndThird(str as string) as string
    firstAndThird = split(str,"_")(0) & "_" & split(str,"_")(2)
End Function

Поместите код в модуль и позвоните с листа:

=firstAndThird(A2)

enter image description here


Если у вас Office 365 Excel, вы можете использовать TEXTJOIN в качестве формулы массива:

=TEXTJOIN("_",,TRIM(MID(SUBSTITUTE(A2,"_",REPT(" ",99)),{1,198},99)))

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

enter image description here

0 голосов
/ 02 июля 2018

Если вам не нужна альтернатива vba «заменить», вы можете попробовать объединить начальную и конечную части текста, используя что-то вроде этого:

=LEFT(A2,FIND("_",A2))&RIGHT(A2,LEN(A2)-FIND("_",A2,FIND("_",A2)+1))

Это следует вашему примеру, но удаляет не только текст между двумя подчеркиваниями, так как удаляет также второе подчеркивание.

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

=LEFT(A2,FIND("_",A2))&RIGHT(A2,LEN(A2)-FIND("_",A2,FIND("_",A2)+1)+1)
...