
Допустим, у меня есть одна ячейка, содержащая следующий текст:
"Blah blah blah blah blah. Bleh: word word word word."
Есть ли функция, позволяющая вырезать/вставить все данные из Bleh:
следующей ячейки в другую (на основе текста Bleh
, а не длины строки)?
Я пробовал возиться и гуглить и т. д., но пока ничего не нашел. Заранее спасибо за любой совет/помощь.
решение1
Предполагая, что ваш текст находится наA1
=IFERROR(IF(FIND("bleh",A1)>0,RIGHT(A1,LEN(A1)+1 - FIND("bleh",A1)),""),"")
решение2
На самом деле вам нужна MID()
функция, которая опционально допускает два аргумента, в результате чего возвращается текст с позиции указанного второго аргумента до конца строки.
К сожалению, функция Excel MID()
этого не позволяет. Поэтому необходимо создать формулу замены.
Предполагая, что текст написан на A1
, простейшая формула выглядит так:
=IFERROR(MID(A1,FIND("Bleh:",A1),LEN(A1)),"")
Другой способ создания формулы замены — это использование RIGHT()
, как это сделал cybernetic.nomad вэтот ответ. Однако лучше всего это сделать следующим образом:
=IFERROR(RIGHT(A1,LEN(A1)+1-FIND("Bleh:",A1)),"")
В то время как,техническиговоря, вторая формула более «точная» (она вычисляет и возвращает точное количество крайних правых символов, в отличие от первой формулы, которая пытается захватить больше символов, чем есть на самом деле), первая формула содержит на два оператора меньше (да, быстрее!)икороче (надо экономить на дорогих байтах жесткого диска/SD ;))
решение3
Вы также можете использовать это.
=MID(A2,FIND(".",A2)+2,256)
Вы получаете,Bleh: word word word word
Другой вариант, самая простая альтернатива,Текст в столбецКоманда.
- ВыбиратьРазграниченныйпока 1-й шаг.
- На шаге 2 выберитеДругойи поместите знак «Точка» в текстовое поле рядом с ним.
- Наконец нажмите «Далее» или «Готово».
Вы получаете,Bleh: word word word word