Tom은 꽤 많은 텍스트가 포함 된 워크 시트를 가지고 있습니다. 그는 주어진 셀의 텍스트에서 괄호 안에있는 각 단어의 첫 글자를 가져 오는 방법이 필요합니다. 예를 들어, 셀에 “제거해야하는 잡초가 있습니다 (봄 동안)”가 포함 된 경우 Tom은 “dts”를 가져와야합니다.

그 텍스트에서. 그는 이것이 매크로로 이루어져야한다고 생각하지만 어디서부터 시작해야할지 모릅니다.

이 작업을 수동으로 수행하려면 그렇게 어렵지 않습니다. 단계를 빠르고 일반적으로 진행하겠습니다.

텍스트가 A 열에 있고 각 셀에 하나의 괄호 세트 만 포함되어 있다고 가정 해 보겠습니다. 이 경우 B 열에 다음을 넣을 수 있습니다.

=IFERROR(LEFT(MID(A1,FIND("(",A1)+1,LEN(A1)),FIND(")", MID(A1,FIND("(",A1)+1,LEN(A1)))-1),"")

여기서는 공식을 두 줄로 나눴지만 단일 공식이므로 입력해야합니다. 필요한만큼 셀을 복사합니다. B 열에서 끝나는 것은 셀인 경우 첫 번째 괄호 집합 (있는 경우)이 포함 된 텍스트입니다.

그런 다음 B 열의 모든 셀을 선택하고 Ctrl + C를 누른 다음 선택하여 붙여 넣기를 사용하여 값을 해당 셀에 다시 붙여 넣습니다. 이렇게하면 수식이 제거되지만 추출 된 괄호 텍스트는 남습니다.

이제 B 열의 셀이 여전히 선택되어야합니다. 리본의 데이터 탭에있는 텍스트에서 열로 마법사를 사용하여 단어를 개별 셀로 분할하려고합니다. 마법사에서 공백을 구분 기호로 사용하면 쉽게 수행 할 수 있습니다. 이렇게하면 각 열에서 C 열로 시작하는 단일 단어가됩니다.

이제 단어가없는 첫 번째 열 (J 열이라고 가정 해 보겠습니다)에 다음 공식을 입력합니다.

=LEFT(TRIM(C1),1) & LEFT(TRIM(D1),1) & LEFT(TRIM(E1),1)

& LEFT(TRIM(F1),1) & LEFT(TRIM(G1),1)) & LEFT(TRIM(H1),1)

& LEFT(TRIM(I1),1)

다시 말하지만, 이것은 여기에 세 줄로 표시되지만 단일 수식입니다. 그러면 J 열에 원하는 첫 글자가 표시됩니다.

분명히이 과정은 가끔씩 편지를 당겨야하는 경우에 “실행 가능”합니다. 더 자주 수행해야하는 경우 사용자 정의 함수에 의존하여 작업을 수행하는 것이 좋습니다. 다음은 잘 작동하는 간단한 것입니다.

Function PickInitials(sRaw As String) As String     Dim sTemp As String     Dim J As Integer     Dim Wds() As String

sTemp = ""

J = InStr(sRaw, "(")

If J > 0 Then         sTemp = Mid(sRaw, J + 1)

J = InStr(sTemp, ")")

If J > 0 Then             sTemp = Left(sTemp, J - 1)

End If         Wds = Split(sTemp)



sTemp = ""

For J = 0 To UBound(Wds)

sTemp = sTemp & Left(Trim(Wds(J)),1)

Next J     End If     PickInitials = sTemp End Function

함수를 사용하려면 셀에서 다음을 사용하기 만하면됩니다.

=PickInitials(A1)

이 함수는 셀에 괄호 텍스트가없고 여는 괄호 만 있고 단어 사이에 여러 공백이 던져지지 않으면 제대로 작동합니다. 이 기능은 첫 글자의 대문자를 유지합니다. 모든 문자를 소문자로 반환하려면 매크로의 마지막 줄을 다음과 같이 변경할 수 있습니다.

PickInitials = LCase(sTemp)

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13622)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.