Если предположить,
- VBA приемлемо,
- Office 2000 или более поздняя версия (для функции Split. Если вы используете более старую версию, чем 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.