2016-06-07 5 views
0

У меня есть столбец данных с несколькими типами значений. Я пытаюсь выделить каждый тип значения в отдельный столбец. Ниже приведен пример данных:Разделение данных в том же столбце excel

6 - Cutler, Jay (Ovr: 83) 
22 - Forte, Matt (Ovr: 88) 
86 - Miller, Zach (Ovr: 80) 

Я попытался отделить данные путем: а) перехода к данным и нажатия текста на столбцы; однако часть данных «Ovr: 80» не разделяет «Ovr» с 80. Я также попытался b) преобразовать в CSV-файл, но снова не смог отделить «Ovr» от «80». Есть ли формула, которую я могу использовать, чтобы отделить эту часть данных от остальных?

Я хотел бы данные, которые будут разделены на разные колонки, как показано ниже:

6 | Cutler, | Jay | Ovr | 83 
22 | Forte | Matt | Ovr | 88 
86 | Miller | Zach | Ovr | 80 

Любое понимание очень ценится!

+0

глядя на ваших данных вы могли бы попробовать что-то действительно просто который может работать, если данные всегда такие, замените -,(): символы ничем, а затем, наконец, замените двойное пространство на единое пространство, тогда вы получите идеальный набор данных с ограниченным пространством :), я думаю, вы может настроить формулу для этого, я лично буду использовать vba и либо сделаю то же самое, используя vba, либо воспользуюсь RegEx, что было бы более безопасным вариантом s очень универсален с изменениями в данных –

+0

Почему запятая после сохранения Катлера и запятая после того, как Форте и Миллер упали? –

+0

@ Gary'sStudent Я хотел бы получить обоснованное предположение, что это была опечатка –

ответ

0

с помощью метода выше ваших могли бы сделать что-то вроде этого ...

первого очистить текст таким образом, его более управляемым, используя эту формулу и копирование в колонке вы можете очистить его, чтобы он стал пробелами набора

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"- ",""),",",""),"(",""),")",""),":","") 
0

Для записи я не рекомендую этот метод, если вы хотите сделать вариант «текст в столбце».

Функции, используемые для этого решения являются:

для вашего первого столбца текста используйте следующее:

=left(A1,find(" ",A1))*1 

Это вытащит первое число, предполагая, что у вас нет ведущих пробелов. * 1 преобразует текст в число.

для второго столбца последних времен использует следующее:

=MID(A1,FIND("-",A1)+2,FIND(",",A1)-(FIND("-",A1)+2)) 

При условии, у вас есть кома и тир, как указано в вашем примере данных, которые вы не получите сообщение об ошибке, и он должен тянуть фамилию без кома.

Для вашего третьего столбца имен следует той же общая методике, как фамилии со следующим,

=MID(A1,FIND(",",A1)+2,FIND("(",A1)-2-(FIND(",",A1)+2)+1) 

Следуйте аналогичную схему, чтобы получить Вас на колонку

=MID(A1,FIND("(",A1)+1,FIND(":",A1)-1-(FIND("(",A1)+1)+1) 

и, наконец, получить ваша возрастная колонна:

=MID(A1,FIND(":",A1)+2,FIND(")",A1)-1-(FIND(":",A1)+2)+1) 

Скопируйте приведенные выше формулы вам нужно идти.

1

Выберите ячейки, которые вы хотите обработать и запустить этот макрос, чтобы поместить результаты в ячейки справа от выбранных ячеек:

Option Explicit 

Sub dural() 
    Dim r As Range, s As String, ary 
    Dim i As Long, a 
    For Each r In Selection 
     s = r.Value 
     If s <> "" Then 
      s = Replace(Replace(s, "-", " "), ",", " ") 
      s = Replace(Replace(s, "(", " "), ")", " ") 
      s = Application.WorksheetFunction.Trim(Replace(s, ":", " ")) 
      ary = Split(s, " ") 
      i = 1 
      For Each a In ary 
       r.Offset(0, i).Value = a 
       i = i + 1 
      Next a 
     End If 
    Next r 
End Sub 

enter image description here

Смежные вопросы