Как переместить некоторые данные из столбца в новый столбец?

Как переместить некоторые данные из столбца в новый столбец?

Я ищу формулу для разделения данных на новые столбцы. Я могу сделать это просто, но я хочу их категоризировать.

IE У меня есть один столбец с информацией о степени для каждого человека, например:

BS 1990; MS 1991; PHD 1992;
Next record:
BS 1999; PHD 2000

Данные различаются для каждого человека с разным количеством степеней. Я хочу переместить все BS в один новый столбец, все MS в другой, а PHD в еще один. Я могу заставить данные разделиться на новые столбцы, но не на нужные столбцы, поскольку данные различаются для каждой строки.

Спасибо.

решение1

С данными в столбцеА, вВ1входить:

=IF(ISERROR(FIND("BS",A1)),"",MID(A1,FIND("BS",A1),7))

и копировать вниз. ВС1входить:

=IF(ISERROR(FIND("MS",A1)),"",MID(A1,FIND("MS",A1),7))

и копировать вниз. ВД1входить:

=IF(ISERROR(FIND("PHD",A1)),"",MID(A1,FIND("PHD",A1),8))

и скопируйте вниз:

введите описание изображения здесь

решение2

Предполагая,

  • VBA приемлем,
  • Office 2000 или более поздняя версия (для функции разделения. Если вы используете версию старше 2003, сообщите мне, чтобы я еще раз это проверил.)
  • Ваш формат последовательный, с разделителем в виде точки с запятой.

затем добавьте этот код:

Function XLstrtok2(sStr As String, sDesiredDegree As String)
    Dim ss() As String, i As Integer
    sStr = Trim(sStr)
    If Right(sStr, 1) = ";" Then sStr = Left(sStr, Len(sStr) - 1)
    ss = Split(sStr, ";")
    For i = 0 To UBound(ss)    
        If Left(Trim(ss(i)), Len(sDesiredDegree)) = sDesiredDegree Then XLstrtok2 = Trim(ss(i)): Exit Function    
    Next    
    XLstrtok2 = "--"
End Function

Ниже показана ваша электронная таблица и формулы для размещения градусов в разных столбцах справа от объединенной строки с точками с запятой.

Убедитесь, что ваши столбцы достаточно широкие. При желании мы можем добавить больше кода внизу, говоря:

With ActiveSheet.Columns("A:E")
    .AutoFit
    .HorizontalAlignment = xlLeft
End With

Скопируйте последний столбец вправо настолько, насколько это необходимо. Например, скопируйте E1:E3 в F1:F3.

Скопируйте последнюю строку вниз настолько, насколько это необходимо. Например, скопируйте A3:E3 в A4:E4 и введите новые данные в A4.

Конечно, разумно вставить строку вверху для правильных заголовков.

Сообщите мне, если что-то из этого непонятно. Или это приемлемо. Обратите внимание на ввод данных и их последовательность (например, иногда показывается PHD, а иногда Ph.D), чтобы определить, нужны ли дополнительные столбцы, как показано ниже для вариантов PHD.

Расширенная электронная таблица

Расширенные формулы

Связанный контент