2012-10-03 16:16:00 +0000 2012-10-03 16:16:00 +0000
58
58
Advertisement

Как разделить строку на основе ":" в MS-Excel?

Advertisement

Мой столбец excel заполнен такими словами:

1.) ABC:DCF
2.) DCF:FED

Я хочу разделить каждое слово на основе “ : ” и поместить результат в соседние столбцы таким образом, чтобы “ABC:DCF” в ячейке “A:1” стал “ABC” в ячейке “B:1”, а “DCF” в ячейке “C:1”, а также соответствующие значения в каждом столбце. Как это сделать?

Advertisement
Advertisement

Ответы (4)

84
84
84
2012-10-03 16:34:14 +0000

Текст на колонки сработает. Другой вариант, если вы хотите сохранить исходное значение, это использовать формулы: в B1

=left(a1,find(":",a1)-1)

в C1

=mid(a1,find(":",a1)+1,len(a1))
```.
63
63
63
2012-10-03 16:20:12 +0000

Перейдите на вкладку “Данные”, затем выберите опцию “Текст в столбцы”. Позже выберите опцию “Разграничить”, затем выберите “Другое” и установите любой желаемый разделитель.

26
Advertisement
26
26
2012-10-03 18:42:46 +0000
Advertisement

Если вы можете использовать VBA, то вы можете использовать функцию Split(). Вот пользовательская функция (UDF), которую вы можете использовать в ячейке. Она разбивается на выбранный вами символ и возвращает nth элемент разделенного списка.

Смотрите Как добавить VBA в MS Office? для информации о том, как определить UDF.

Function STR_SPLIT(str, sep, n) As String
    Dim V() As String
    V = Split(str, sep)
    STR_SPLIT = V(n - 1)
End Function

Так что вам нужно будет ввести:

=STR_SPLIT(A1, ":", 1) // for the first half
=STR_SPLIT(A1, ":", 2) // for the second half
8
8
8
2016-09-05 16:44:45 +0000

Вставьте его в B1 и заполните колонками справа и строками вниз:

=TRIM(MID(SUBSTITUTE($A1,":",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

Правка: Я ранее размещал локализованную версию формулы, где ‘,’ было заменено на ‘;’. В американской версии Excel:

=TRIM(MID(SUBSTITUTE($A1;":";REPT(" ";999));COLUMNS($A:A)*999-998;999)) это не работает.

Advertisement

Похожие вопросы

6
13
9
10
1
Advertisement