.Value = Evaluate(Replace("IF(LEFT(@,1)="";"",MID(@,FIND(LEFT(SUBSTITUTE(@,"";"",""""),1),@),LEN(@)),@)", "@", .Address))
Это займет всю строку, определит первый символ без точки с запятой (удалите все точки с запятой, возьмите первый оставшийся символ в LEFT
), затем FIND
там, где он появляется в исходном тексте, и вернуть всю строку, начиная с этой точки.
MID(A1, 'Extract from the text
FIND( 'Starting with
LEFT(SUBSTITUTE(A1,";",""),1), 'The first non-semicolon character
A1), 'in the text
LEN(A1)) 'until the end of the text
(NB. Если в строке нет символов, отличных от точки с запятой, например «;;;;;», то будет возвращена вся строка. Вы можете добавить дополнительный оператор IF
для проверки LEN(SUBSTITUTE(@,";",""))>0
, если вы не хотите этого результата)