Excel에서 다국어 데이터를 관리할 때 언어 감지는 다국어 데이터 세트, 고객 피드백 분석 또는 콘텐츠 분류에 매우 유용할 수 있습니다.
이 튜토리얼에서는 파워 쿼리 또는 VBA를 사용하여 Excel 셀에서 자동으로 언어를 감지하는 방법을 보여줍니다.
자동으로 언어를 감지하는 파워 쿼리
파워 쿼리는 데이터를 가져오고, 정리하고, 변환하고, API 호출도 수행할 수 있는 Excel의 강력한 기본 제공 도구입니다. DetectLanguage API, LibreTranslate API 또는 파워 쿼리와 함께 모든 유료 API를 사용할 수 있습니다.
1단계:무료 API 키 받기
- DetectLanguage.com으로 이동
- 등록(무료)하고 대시보드에서 API 키를 복사하세요.

2단계:데이터 테이블 준비
Excel에 언어 목록을 삽입하세요.
- 데이터 범위를 선택하세요.
- 삽입으로 이동 탭>> 표 선택 .
- 내 테이블에 헤더가 있습니다를 확인하세요. .
- 확인을 클릭하세요. .

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

3단계:파워 쿼리를 사용하여 언어 감지
- 표에서 아무 셀이나 선택하세요.
- 데이터 로 이동 탭>> 선택표/범위에서 .

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

- 홈으로 이동 탭>> 고급 편집기를 선택합니다. .
- 다음 코드를 복사하여 붙여넣으세요.
- 완료를 클릭하세요. .
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' 교체 실제 키를 사용하세요.

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

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

- 삽입에서>> 모듈을 선택합니다. .
- 다음 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

- 저장 코드를 입력하고 Excel 시트로 돌아갑니다.
- C2 셀을 선택하고 다음 UDF 함수를 삽입하세요.
이 사용자 정의 기능은 자동으로 언어를 감지하고 언어 코드를 반환합니다.

보너스:Excel에서 DETECTLANGUAGE 기능 사용(Microsoft 365 및 웹 전용)
Microsoft 365용 Excel 또는 웹용 Excel을 사용하는 경우 기본 제공 DETECTLANGUAGE 기능을 사용하여 모든 셀 텍스트의 언어를 자동으로 식별할 수 있습니다. 이 기능은 Microsoft 365 구독자 및 Excel Online에서만 사용할 수 있으며 2022년 후반부터 출시됩니다.
- 셀을 선택하고 다음 수식을 삽입하세요.
웹에서 결과를 가져옵니다.

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

가용성: DETECTLANGUAGE 기능은 다음에서만 사용할 수 있습니다:
- 웹용 Excel (엑셀 온라인).
- 마이크로소프트 365 (일부 데스크톱 빌드이지만 모든 사용자는 아님).
- 사용할 수 없음 Excel 2019, Excel 2016 또는 이전 영구 라이센스 버전에서.
결론
위의 방법에 따라 Excel 셀에서 언어를 자동으로 감지할 수 있습니다. 파워 쿼리를 사용하면 다국어 데이터 처리 워크플로를 쉽게 강화할 수 있습니다. 더 많은 안정성, 확장성 및 직접적인 데이터 변환을 제공하는 파워 쿼리는 대부분의 사용자에게 선호됩니다. VBA는 가볍고 로컬이며 빠른 사용에 가장 적합합니다.
솔루션이 포함된 무료 고급 Excel 연습을 받아보세요!