Jordan은 URL을 구성 요소로 분리해야합니다. 전체 URL (http://www.xyz.com/business)이 A 열에있는 경우 B 열에 기본 도메인 (xyz 또는 xyz.com)을, 열에 경로 (비즈니스)를 포함하는 방법을 원합니다. C.

이 문제를 해결하는 방법에는 여러 가지가 있습니다. 이 작업을 한두 번만 수행해야하는 경우 리본의 데이터 탭에서 사용할 수있는 텍스트를 열 도구로 사용하는 것이 가장 쉬울 수 있습니다. 도구가 문자열을 분리하는 방법을 지정할 때 슬래시 (/)를 구분 기호로 사용하도록 지정하십시오. 원래 URL을 조합하는 방법에 따라 약간의 “정리”가 필요할 수 있습니다.

도구가 완료되면 빠르고 쉽습니다.

이 작업을 더 자주 수행하면 수식을 사용하여 URL을 조작하는 것이 좋습니다. 첫 번째 작업은 URL에서 도메인을 가져 오는 것이지만 이것은 생각보다 약간 까다 롭습니다. 예를 들어 URL은 여러 프로토콜 지정자 (예 : http : //, https : //, ftp : // 등)로 시작하거나 프로토콜 지정자로 시작하지 않을 수 있습니다. 또한 “www”를 제거 할 수도 있습니다.

어떤 사람들은 그것을 외부라고 생각하기 때문에 명명법. “실제”도메인이 시작되는 위치를 파악하려면 B 열에 다음 공식을 사용할 수 있습니다.

=IFERROR(FIND("www.",$A1)+4,IFERROR(FIND("://",$A1,1)+3,1))

가능한 경우 “www.”뒤의 첫 번째 문자의 위치를 ​​반환하기 위해 수행하는 작업입니다. 존재하지 않는 경우 “: //”뒤의 첫 번째 문자 (있는 경우)의 위치를 ​​리턴합니다. 이것이 없으면 URL에 프로토콜 접두사 또는 www가 포함되어 있지 않으므로 숫자 1이 반환됩니다.

B 열의 해당 값으로 원하는 부품을 실제로 꺼내기 시작할 수 있습니다. C 열에있는 다음은 이미 설명한대로 도메인을 반환합니다. 기본적으로 B 열에 표시된 문자 위치에서 다음 슬래시 (/)까지 모든 것을 반환합니다.

=MID(A1,B1,IFERROR(FIND("/",A1,B1)-B1,LEN(A1))

원래 URL에 “www.xyz.com”이 포함 된 경우 “xyz.com”이 수식에 의해 반환됩니다. “www”가 아닌 다른 하위 도메인이 포함 된 경우

(예 : “research.xyz.com”) 하위 도메인을 포함한 전체 도메인이 반환됩니다. 도메인 이름 뒤에 슬래시 (/)가없는 경우 IFERROR 함수가 포함됩니다. (FIND 함수는 찾고있는 항목을 찾을 수없는 경우 #VALUE 오류를 반환합니다.)

도메인 뒤의 경로를 선택하려면 D 열에 다음 공식을 사용할 수 있습니다.

=IFERROR(MID(A1,FIND("/",A1,B1)+1,LEN(A1)),"")

공식은 도메인 이름 뒤에 나오는 첫 번째 슬래시 (/) 뒤의 모든 것을 반환합니다. 도메인 이름 뒤에 슬래시가 없으면 아무 것도 반환하지 않습니다. (이것은 IFERROR 함수의 사용 덕분입니다.)

위의 공식을 사용하는 데있어 핵심은 B 열의 도우미 열입니다. B 열의 필요성을 없애고 싶다면 B1의 모든 인스턴스를 공식으로 바꾸어야합니다. B1에 속하는 등호). 물론 다른 두 공식, 특히 C 열에 대해 언급 된 공식은 상당히 길어집니다.

원하는 경우 도우미 열 없이도 기본적으로 동일한 작업을 수행하는 매크로를 만들 수 있습니다. 다음 예제에서는 사용자가 선택을 한 다음 URL의 일부를 셀에서 가져 와서 선택 항목의 오른쪽에있는 두 개의 열에 배치합니다.

Sub GetURLParts()

Dim c As Range     Dim sRaw As String     Dim J As Integer          For Each c In Selection         sRaw = c.Text         J = InStr(sRaw, "://")

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

If LCase(Left(sRaw, 4)) = "www." Then             sRaw = Mid(sRaw, 5)

End If         J = InStr(sRaw, "/")

If J > 0 Then             c.Offset(0, 1) = Left(sRaw, J - 1)

c.Offset(0, 2) = Mid(sRaw, J + 1)

Else             c.Offset(0, 1) = sRaw             c.Offset(0, 2) = ""

End If     Next c End Sub

_ 참고 : _

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

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

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

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