3

Пример значения ячейки: президент и основатель, Millennium Pain Center, 1998 - настоящее время.

Я бы хотел, чтобы это было разбито (разделено) на «президента и основателя, Millennium Pain Center» и в другой камере «1998 - настоящее время».

Это выполнимо?

2 ответа2

6

Они будут работать, они являются формулами массива, поэтому вы должны использовать CTRL-SHIFT-ENTER, когда вводите их в ячейку. Число $ 40 должно быть достаточно большим для вашей самой большой строки:

=LEFT(A1, MATCH(TRUE,ISNUMBER(1*MID(A1, ROW($1:$40), 1)),0)-1)

а также

=RIGHT(A1, LEN(A1) - MATCH(TRUE,ISNUMBER(1*MID(A1, ROW($1:$40), 1)),0) +1)

Оператор MID создает массив всех символов в строке.
Затем оператор ISNUMBER превращает его в массив ИСТИНА / ЛОЖЬ.
Затем оператор MATCH находит первое ИСТИНА, поэтому первое число.
Тогда это просто вопрос разбора.

4

Это выполнимо с формулой массива. Вот решение, основанное на алгоритме на веб-сайте MS Office. Я изменил формулу, чтобы учесть длину строки, чтобы вы могли использовать ее с другими фразами.

Предполагая, что A1 содержит вашу строку («Президент и основатель, Millennium Pain Center, 1998 - по настоящее время»), Ctrl + Shift + Введите это в B1:

=MATCH(TRUE,ISNUMBER(1*MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)),0)

Он вернет индекс первого числа, встречающегося в строке. Например, он вернет 46.

Введите это (как нормальная формула) в C1:

=MID(A1,1,B1-1)

Он вернет президента и основателя, Millennium Pain Center,

Введите это (как нормальную формулу) в D1:

=RIGHT(A1,LEN(A1)-B1+1)

Это вернется 1998 - настоящее время

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