যখন আপনি এক্সেলে বহুভাষিক ডেটা ম্যানেজ করেন, ভাষা ডিটেকশন বহুভাষিক ডেটাসেট, কাস্টমার ফিডব্যাক অ্যানালিসিস, বা কন্টেন্ট ক্যাটাগরাইজেশনের জন্য অবিশ্বাস্যভাবে উপকারী হতে পারে।
এই টিউটোরিয়ালে, আমরা পাওয়ার কোয়ারি বা VBA ব্যবহার করে এক্সেল সেলে ভাষা অটোমেটিক্যালি ডিটেক্ট করার পদ্ধতি দেখাব।
পাওয়ার কোয়ারি দিয়ে ভাষা অটোমেটিক্যালি ডিটেক্ট করুন
পাওয়ার কোয়ারি এক্সেলে একটি শক্তিশালী বিল্ট-ইন টুল যা আপনাকে ডেটা ইমপোর্ট, ক্লিন, এবং ট্রান্সফর্ম করতে দেয়, এবং এমনকি API কলও করতে দেয়। আপনি DetectLanguage API, LibreTranslate API, বা যেকোনো পেইড API পাওয়ার কোয়ারির সাথে ব্যবহার করতে পারেন।
ধাপ ১: আপনার ফ্রি API কি পান
- DetectLanguage.com-এ যান
- সাইন আপ করুন (ফ্রি) এবং ড্যাশবোর্ড থেকে আপনার API কি কপি করুন।

ধাপ ২: আপনার ডেটা টেবিল প্রস্তুত করুন
এক্সেলে আপনার ভাষা লিস্ট ইনসার্ট করুন।
- ডেটা রেঞ্জ সিলেক্ট করুন।
- Insert ট্যাবে যান > Table সিলেক্ট করুন।
- My table has headers চেক করুন।
- OK ক্লিক করুন।

- আপনার টেবিল রিনেম করুন:
- Table Design ট্যাবে যান > Table Name > Language_List ইনসার্ট করুন।

ধাপ ৩: পাওয়ার কোয়ারি ব্যবহার করে ভাষা ডিটেক্ট করুন
- আপনার টেবিলের যেকোনো সেল সিলেক্ট করুন।
- Data ট্যাবে যান > From Table/Range সিলেক্ট করুন।

- Home ট্যাবে যান > New Source > Other Sources > Blank Query সিলেক্ট করুন।
- নাম দিন Auto Detect Language।

- Home ট্যাবে যান > Advanced Editor সিলেক্ট করুন।
- নিচের কোড কপি এবং পেস্ট করুন।
- Done ক্লিক করুন।
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" কে আপনার আসল কি দিয়ে প্রতিস্থাপন করুন।

- Close & Load ক্লিক করুন। আপনি একটি Language কলাম দেখবেন ডিটেক্টেড ল্যাঙ্গুয়েজ কোডসহ (en, fr, ইত্যাদি)।

VBA ব্যবহার করে ভাষা অটোমেটিক্যালি ডিটেক্ট করুন
আপনি VBA ব্যবহার করে স্বয়ংক্রিয়ভাবে ভাষা ডিটেক্ট করতে পারেন। VBA-তে, আপনি ফ্রি থেকে পেইড সব ধরনের API কল করতে পারেন বা ভাষা ডিটেক্ট করার জন্য ইউজার-স্পেসিফিক ফাংশন তৈরি করতে পারেন।
- Developer ট্যাবে যান > Visual Basic সিলেক্ট করুন।

- Insert > Module সিলেক্ট করুন।
- নিচের 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

- কোড Save করুন এবং এক্সেল শিটে ফিরে যান।
- C2 সেল সিলেক্ট করুন এবং নিচের UDF ফাংশন ইনসার্ট করুন।
এই কাস্টম ফাংশন স্বয়ংক্রিয়ভাবে ভাষা ডিটেক্ট করে এবং ল্যাঙ্গুয়েজ কোড রিটার্ন করে।

বোনাস: এক্সেলে DETECTLANGUAGE ফাংশন ব্যবহার (Microsoft 365 এবং Web Only)
আপনি যদি Microsoft 365-এর জন্য এক্সেল বা ওয়েবের জন্য এক্সেল ব্যবহার করেন, তবে আপনি বিল্ট-ইন DETECTLANGUAGE ফাংশন ব্যবহার করে যেকোনো সেলের টেক্সটের ভাষা অটোমেটিক্যালি চিনতে পারেন। এই ফিচার শুধু Microsoft 365 সাবস্ক্রাইবারের জন্য এবং Excel Online-এ উপলব্ধ, ২০২২-এর শেষ থেকে রোল আউট করা হয়েছে।
- একটি সেল সিলেক্ট করুন এবং নিচের ফর্মুলা ইনসার্ট করুন।
এটি ওয়েব থেকে ফলাফল আনতে।

এই ফাংশন অটো ডিটেক্ট করে ভাষা।

উপলব্ধতা: DETECTLANGUAGE ফাংশন শুধু উপলব্ধ:
- Excel for the web (Excel Online)।
- Microsoft 365 (কিছু ডেস্কটপ বিল্ড, কিন্তু সব ইউজারের জন্য নয়)।
- উপলব্ধ নেই Excel 2019, Excel 2016, বা পুরনো পার্পচুয়াল লাইসেন্স ভার্সনে।
উপসংহার
উপরোক্ত পদ্ধতিগুলো অনুসরণ করে, আপনি এক্সেল সেলে ভাষা অটোমেটিক্যালি ডিটেক্ট করতে পারেন। পাওয়ার কোয়ারি ব্যবহার করে, আপনি সহজেই আপনার বহুভাষিক ডেটা প্রসেসিং ওয়ার্কফ্লো সুপারচার্জ করতে পারেন। পাওয়ার কোয়ারি অধিকাংশ ব্যবহারকারীর জন্য পছন্দনীয়, কারণ এটি আরও স্থিতিশীল, স্কেলেবল, এবং সরাসরি ডেটা ট্রান্সফরমেশন অফার করে। VBA হালকা, লোকাল, এবং কুইক ব্যবহারের জন্য সেরা।