Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

 

Excel에서 다국어 데이터를 관리할 때 언어 감지는 다국어 데이터 세트, 고객 피드백 분석 또는 콘텐츠 분류에 매우 유용할 수 있습니다.

이 튜토리얼에서는 파워 쿼리 또는 VBA를 사용하여 Excel 셀에서 자동으로 언어를 감지하는 방법을 보여줍니다.

자동으로 언어를 감지하는 파워 쿼리

파워 쿼리는 데이터를 가져오고, 정리하고, 변환하고, API 호출도 수행할 수 있는 Excel의 강력한 기본 제공 도구입니다. DetectLanguage API, LibreTranslate API 또는 파워 쿼리와 함께 모든 유료 API를 사용할 수 있습니다.

1단계:무료 API 키 받기

  • DetectLanguage.com으로 이동
  • 등록(무료)하고 대시보드에서 API 키를 복사하세요.

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

2단계:데이터 테이블 준비

Excel에 언어 목록을 삽입하세요.

  • 데이터 범위를 선택하세요.
  • 삽입으로 이동 탭>> 선택 .
  • 내 테이블에 헤더가 있습니다를 확인하세요. .
  • 확인을 클릭하세요. .

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

  • 테이블 이름 바꾸기:
    • 테이블 디자인으로 이동 탭>> 테이블 이름 선택>> Language_List 삽입 .

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

3단계:파워 쿼리를 사용하여 언어 감지

  • 표에서 아무 셀이나 선택하세요.
  • 데이터 로 이동 탭>> 선택표/범위에서 .

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

  • 으로 이동 탭>> 새 소스 선택>> 기타 소스를 선택하세요.>> 빈 쿼리를 선택합니다. .
  • 이름을 언어 자동 감지로 지정합니다. .

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

  • 으로 이동 탭>> 고급 편집기를 선택합니다. .
  • 다음 코드를 복사하여 붙여넣으세요.
  • 완료를 클릭하세요. .
let
 APIKey = "YOUR_API_KEY", // <-- Replace this
 Source = Excel.CurrentWorkbook(){[Name="Language_List"]}[Content],
 AddJson = Table.AddColumn(Source, "JsonBody", each 
 Text.ToBinary("q=" & Uri.EscapeDataString([Text]))
 ),
 AddResponse = Table.AddColumn(AddJson, "Response", each 
 Json.Document(
 Web.Contents("https://ws.detectlanguage.com/0.2/detect", [
 Headers = [
 #"Authorization" = "Bearer " & APIKey,
 #"Content-Type" = "application/x-www-form-urlencoded"
 ],
 Content = [JsonBody]
 ])
 )
 ),
 ExtractLang = Table.AddColumn(AddResponse, "Language", each try [Response][data][detections]{0}[language] otherwise "error"),
 Final = Table.SelectColumns(ExtractLang, {"ID", "Text", "Language"})
in
 Final
  • 'YOUR_API_KEY' 교체 실제 키를 사용하세요.

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

  • 닫기 및 로드를 클릭하세요. . 언어가 표시됩니다. 감지된 언어 코드(en, fr 등)가 있는 열입니다.

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

VBA를 사용하여 자동으로 언어 감지

VBA를 사용하여 언어를 자동으로 감지할 수 있습니다. VBA에서는 무료에서 유료까지 모든 유형의 API를 호출하거나 사용자별 기능을 만들어 언어를 감지할 수 있습니다.

  • 개발자로 이동 탭>> Visual Basic 선택 .

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

  • 삽입에서>> 모듈을 선택합니다. .
  • 다음 VBA 코드를 복사하여 붙여넣으세요.

VBA 코드:

Function Detect_Language(text As String) As String
 On Error GoTo handleErr
 Dim http As Object
 Dim url As String
 Dim response As String
 Dim apiKey As String
 apiKey = "YOUR_API_KEY" ' <-- Replace with your API key! url = "https://ws.detectlanguage.com/0.2/detect?q=" & URLEncode(text) Set http = CreateObject("MSXML2.XMLHTTP") With http .Open "GET", url, False .setRequestHeader "Authorization", "Bearer " & apiKey .send response = .responseText End With ' Parse JSON result for "language" code Dim startPos As Integer Dim endPos As Integer startPos = InStr(response, """language"":""") + Len("""language"":""") If startPos > Len("""language"":""") Then
 endPos = InStr(startPos, response, """")
 Detect_Language = Mid(response, startPos, endPos - startPos)
 Else
 Detect_Language = "unknown"
 End If
 Exit Function
handleErr:
 Detect_Language = "ERROR: " & Err.Description
End Function
' Helper for URL encoding (supports most basic Unicode)
Function URLEncode(str As String) As String
 Dim i As Long
 Dim ch As String
 Dim encoded As String
 For i = 1 To Len(str)
 ch = Mid(str, i, 1)
 Select Case AscW(ch)
 Case 48 To 57, 65 To 90, 97 To 122 ' 0-9, A-Z, a-z
 encoded = encoded & ch
 Case Else
 encoded = encoded & "%" & Hex(AscW(ch))
 End Select
 Next i
 URLEncode = encoded
End Function

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

  • 저장 코드를 입력하고 Excel 시트로 돌아갑니다.
  • C2 셀을 선택하고 다음 UDF 함수를 삽입하세요.

이 사용자 정의 기능은 자동으로 언어를 감지하고 언어 코드를 반환합니다.

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

보너스:Excel에서 DETECTLANGUAGE 기능 사용(Microsoft 365 및 웹 전용)

Microsoft 365용 Excel 또는 웹용 Excel을 사용하는 경우 기본 제공 DETECTLANGUAGE 기능을 사용하여 모든 셀 텍스트의 언어를 자동으로 식별할 수 있습니다. 이 기능은 Microsoft 365 구독자 및 Excel Online에서만 사용할 수 있으며 2022년 후반부터 출시됩니다.

  • 셀을 선택하고 다음 수식을 삽입하세요.

웹에서 결과를 가져옵니다.

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

이 기능은 언어를 자동으로 감지합니다.

파워 쿼리 및 VBA를 사용하여 Excel 셀의 언어 자동 감지

가용성: DETECTLANGUAGE 기능은 다음에서만 사용할 수 있습니다:

  • 웹용 Excel (엑셀 온라인).
  • 마이크로소프트 365 (일부 데스크톱 빌드이지만 모든 사용자는 아님).
  • 사용할 수 없음 Excel 2019, Excel 2016 또는 이전 영구 라이센스 버전에서.

결론

위의 방법에 따라 Excel 셀에서 언어를 자동으로 감지할 수 있습니다. 파워 쿼리를 사용하면 다국어 데이터 처리 워크플로를 쉽게 강화할 수 있습니다. 더 많은 안정성, 확장성 및 직접적인 데이터 변환을 제공하는 파워 쿼리는 대부분의 사용자에게 선호됩니다. VBA는 가볍고 로컬이며 빠른 사용에 가장 적합합니다.

솔루션이 포함된 무료 고급 Excel 연습을 받아보세요!