Reggie는 3 개 이상의 단어를 포함하는 셀을 가지고 있습니다. (단어의 수는 다를 수 있습니다.) 그는 셀의 첫 번째 단어 나 셀의 마지막 단어를 추출 할 수있는 공식이 필요합니다. 예를 들어 셀에 “Reggie was here in 2016″이라는 문구가 포함 된 경우 “Reggie”를 추출하는 수식과 “2016”을 추출하는 수식이 필요합니다.

수식을 사용하여 두 단어를 모두 추출 할 수 있습니다. 첫 번째 단어를 추출하는 것은 비교적 간단합니다. 구절에서 첫 번째 공백의 위치를 ​​찾은 다음 그 왼쪽에있는 것을 추출하기 만하면됩니다. 구가 A1에 있다고 가정하면 다음 공식을 사용할 수 있습니다.

=LEFT(A1,FIND(" ",A1)-1)

마지막 단어를 추출하려면 약간 다른 공식이 필요합니다.

=TRIM(RIGHT(SUBSTITUTE(TRIM(A1)," ",REPT(" ",255)),255))

이 공식은 공백을 255 개의 공백 문자열로 변경합니다. 그런 다음 마지막 255자를 찾아 왼쪽의 문자를 잘라 내고 마지막 단어를 남깁니다.

원하는 경우 원하는 단어를 잡기 위해 사용자 정의 함수를 만들 수도 있습니다. 첫 단어를 잡는 것은 쉽습니다 :

Function FirstWord(c As String)

Dim arr

arr = Split(Trim(c), " ")

FirstWord = arr(LBound(arr))

End Function

이 함수는 분할 함수를 사용하여 두 번째 매개 변수 ( “”)를 구분 기호로 사용하여 지정된 셀에있는 모든 항목을 분리합니다. 그러면 배열의 각 요소 (arr)에 원래 문자열의 일부가 포함됩니다. 이 경우 반환되는 것은 배열의 첫 번째 요소 (LBound에 의해 지정됨) 인 첫 번째 단어입니다.

구의 단어가 배열에 배치되므로 함수에 약간의 변형 만 사용하여 마지막 단어를 반환 할 수 있습니다.

Function LastWord(c As String)

Dim arr

arr = Split(Trim(c), " ")

LastWord = arr(UBound(arr))

End Function

본질적으로 함수의 유일한 실제 변경 사항은 LBound 대신 UBound를 사용하는 것입니다. UBound 함수는 배열의 마지막 요소를 지정합니다. 다음과 같은 방식으로 워크 시트에서이 두 함수를 모두 사용할 수 있습니다.

=FirstWord(A1)

=LastWord(A1)

원하는 경우 Split 함수를 사용하지 않고 대신 다른 문자열 관련 함수를 사용할 수 있습니다.

Function GetFirst(c As String)

GetFirst = Left(c, InStr(c, " ") - 1)

End Function
Function GetLast(c As String)

GetFirst = Mid(c, InstrRev(c, " ") + 1)

End Function

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

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

이 팁 (11985)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.

Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전은 여기에서 찾을 수 있습니다.

link : / excel-Extracting_First_and_Last_Words [Extracting First and Last Words].