Stop Using Google Translate in Excel — Try This Instead

The first thing most people do when they need to translate text in Excel is copy-paste into Google Translate, then paste back—row by row. That’s not just slow. It breaks formulas, scrambles formatting, and loses cell references like A2 or Sheet2!C5:C20. Worse: you’ll overwrite adjacent data if you misalign the paste. (Trust me, I learned this the hard way after translating 437 product descriptions for a Dubai client.)

The Problem

You’ve got a list of customer feedback in Spanish, Japanese, and Arabic—and your sales team only reads English. You try =GOOGLETRANSLATE(A2,"auto","en") in Excel Online? It fails. You try Add-Ins? Most are paywalled, outdated, or inject malware. You’re stuck with manual work—or worse, inaccurate machine translations that misrepresent tone or intent.

Here’s what your raw data actually looks like in Sheet1:

A1: IDB1: Original TextC1: Language DetectedD1: Status
101El producto llegó dañado. No lo recomiendo.esPending
102商品の品質が非常に悪いです。返金を要求します。jaPending
103المنتج غير مطابق للوصف. أريد استرداد المبلغ.arPending
104Je suis très déçu par le service client.frPending
105Dieser Artikel ist nicht das, was ich bestellt habe.dePending
106O produto veio com defeito e sem nota fiscal.ptPending

The Solution

Yes—Excel can automatically translate languages. But only via Power Query + Microsoft Translator API. No macros. No third-party add-ins. And no credit card required for up to 2 million characters/month.

  1. Get a free Azure Translator key: Go to azure.microsoft.com/try/cognitive-services, sign in with your Microsoft account, select "Translator", and click "Get Started for Free". Copy your KEY 1 and REGION (e.g., eastus). Save them in Notepad—we’ll use them in step 3.
  2. Load data into Power Query: Select your table (A1:D106), go to DataFrom Table/Range (Alt+A, T). Make sure "My table has headers" is checked.
  3. Add custom translation column: In Power Query Editor, go to TransformRun R ScriptAdvanced Editor. Paste this (replace YOUR_KEY and YOUR_REGION):
    = Json.FromValue(Web.Contents("https://YOUR_REGION.api.cognitive.microsoft.com/translator/text/v3.0/translate?api-version=3.0&to=en", [Headers=["Ocp-Apim-Subscription-Key"="YOUR_KEY", "Content-Type"="application/json"], Content=Json.FromValue({[Text=[B2], To="en"]})]))
    Wait—don’t run it yet. That’s fragile. Instead: go to HomeAdvanced Editor, and replace the entire script with this robust version (it handles empty cells and errors):
let
    Source = #"Changed Type",
    AddTranslation = Table.AddColumn(Source, "English Translation", each 
        let
            text = [B2],
            key = "YOUR_KEY",
            region = "YOUR_REGION",
            url = "https://" & region & ".api.cognitive.microsoft.com/translator/text/v3.0/translate?api-version=3.0&to=en",
            body = Json.FromValue({[Text=text, To="en"]}),
            response = try Json.FromValue(Web.Contents(url, [Headers=["Ocp-Apim-Subscription-Key"=key, "Content-Type"="application/json"], Content=body])) otherwise null,
            result = if response <> null and List.Count(response) > 0 and Record.HasFields(response{0}, {"translations"}) then response{0}[translations]{0}[text] else "[ERROR]"
        in result)
in
    AddTranslation

Replace YOUR_KEY and YOUR_REGION with your values. Press Done. Wait 1–3 seconds per row (depends on internet speed).

Here’s the clean output you’ll get in Sheet2:

IDOriginal TextLanguage DetectedEnglish Translation
101El producto llegó dañado. No lo recomiendo.esThe product arrived damaged. I do not recommend it.
102商品の品質が非常に悪いです。返金を要求します。jaThe quality of the product is very poor. I request a refund.
103المنتج غير مطابق للوصف. أريد استرداد المبلغ.arThe product does not match the description. I want a refund.
104Je suis très déçu par le service client.frI am very disappointed with customer service.
105Dieser Artikel ist nicht das, was ich bestellt habe.deThis item is not what I ordered.
106O produto veio com defeito e sem nota fiscal.ptThe product arrived defective and without an invoice.

Going Further

You can translate into multiple languages at once. Just change the &to=en part in the URL to &to=en&to=fr&to=de. Power Query will return a list—expand it with TransformExpand ColumnExpand to New Rows.

Need to detect language first? Use https://YOUR_REGION.api.cognitive.microsoft.com/translator/text/v3.0/detect instead—and feed the result into the translator step. We did that for a client with mixed-language support tickets from Istanbul, Mumbai, and São Paulo.

Pro tip: If your dataset has 10,000+ rows, break it into chunks of 1,000. Azure throttles requests over 10/sec. Use Table.Split in Power Query to auto-split, process, then recombine.

And yes—you can trigger this from a button. Insert a shape (Insert → Shapes → Rectangle), right-click → Assign Macro, then paste a VBA wrapper that refreshes the query. But honestly? Just press Alt+F5 to refresh all queries—it’s faster.

When NOT to Use This

  • Legal contracts or medical consent forms: Azure Translator isn’t certified for HIPAA or GDPR-regulated documents. Use human translators for anything binding.
  • Names, brands, or product codes: It will “translate” iPhone as آيفون (Arabic script)—but you probably want it left as-is. Add a conditional step before translation: if Text.Contains([B2], "iPhone") or Text.Length([B2]) < 4 then [B2] else ...
  • Rows with special characters in formulas: If B2 contains =CONCATENATE(C2," - ",D2), the API sees the formula text—not the result. Pre-calculate with Value or paste as values first.
  • Offline work: This requires internet. No workaround. Keep a local glossary sheet (Sheet3!A1:B500) for common phrases and use VLOOKUP as fallback.

Keyboard Shortcuts

ActionShortcutNotes
Open Power Query EditorAlt+A, TFrom any selected table
Refresh all queriesAlt+F5Saves 3 clicks vs. Data → Refresh All
Open Advanced EditorCtrl+Shift+EIn Power Query Editor only
Toggle formula barCtrl+`Useful when checking translated results against source
Paste values onlyAlt+E, S, VCritical before sending translated data externally
James Chen

James Chen

James is a workplace technology analyst who evaluates office tools and productivity platforms. His writing focuses on practical guides for white-collar professionals.