데이터를 새 열로 분할하는 수식을 찾고 있습니다. 간단하게 할 수도 있지만 분류해 보고 싶습니다.
IE 다음과 같은 각 사람의 학위 정보가 포함된 하나의 열이 있습니다.
BS 1990; MS 1991; PHD 1992;
Next record:
BS 1999; PHD 2000
데이터는 학위 수에 따라 사람마다 다릅니다. 모든 BS를 하나의 새 열로 옮기고 모든 MS를 다른 열로 옮기고 PHD를 다른 열로 옮기고 싶습니다. 데이터가 행마다 다르기 때문에 데이터를 새 열로 분할할 수 있지만 올바른 열로 분할할 수는 없습니다.
감사해요.
답변1
답변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 변형에 대해 아래 표시된 것처럼 추가 열이 필요한지 결정하려면 데이터 입력 및 일관성(예: PHD가 표시되거나 박사 학위가 표시되는 경우도 있음)에 주의를 기울이세요.