열의 일부 데이터를 새 열로 이동하는 방법

열의 일부 데이터를 새 열로 이동하는 방법

데이터를 새 열로 분할하는 수식을 찾고 있습니다. 간단하게 할 수도 있지만 분류해 보고 싶습니다.

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))

그리고 복사해 가세요. ~ 안에C1입력하다:

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

그리고 복사해 가세요. ~ 안에D1입력하다:

=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 변형에 대해 아래 표시된 것처럼 추가 열이 필요한지 결정하려면 데이터 입력 및 일관성(예: PHD가 표시되거나 박사 학위가 표시되는 경우도 있음)에 주의를 기울이세요.

확장된 스프레드시트

확장된 수식

관련 정보