GOOGLETRANSLATE function

Translates text between languages using Google's translation service, with automatic source language detection when not specified.

=GOOGLETRANSLATE(text, [source_language], [target_language])

Generate a GOOGLETRANSLATE formula

Describe what you need. The generator will reach for GOOGLETRANSLATE where GOOGLETRANSLATE is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How GOOGLETRANSLATE reads its arguments
textrequiredsource_languageoptionaltarget_languageoptionalGOOGLETRANSLATE
ArgumentRequiredDescription
textRequiredThe text to translate, provided as a string literal or cell reference; arrays and ranges cause a #VALUE! error.
source_languageOptionalThe two-letter ISO 639-1 language code for the source text (e.g., 'en', 'es'); if omitted, the language is auto-detected.
target_languageOptionalThe two-letter ISO 639-1 language code for the output language (e.g., 'fr', 'de'); defaults to English ('en') if omitted.

Returns

A string containing the translated text in the target language.

Availability

Excel: Not available · Google Sheets: Supported

Worked examples

1. Translate budget category names to Spanish

CategoryMonthBudgetedActualVariance
GroceriesJanuary400450-50
UtilitiesJanuary1501455
TransportationJanuary300320-20
GroceriesFebruary40038020
UtilitiesFebruary150155-5
TransportationFebruary3003000
=GOOGLETRANSLATE(A2,"en","es")

Result: Comestibles

Cell A2 contains 'Groceries'. GOOGLETRANSLATE translates it from English to Spanish, returning 'Comestibles'. This approach lets you localize budget category names for Spanish-speaking stakeholders without manual translation work.

2. Auto-detect and translate month names to French

CategoryMonthBudgetedActualVariance
GroceriesJanuary400450-50
UtilitiesJanuary1501455
TransportationJanuary300320-20
GroceriesFebruary40038020
UtilitiesFebruary150155-5
TransportationFebruary3003000
=GOOGLETRANSLATE(B2,,"fr")

Result: Janvier

Cell B2 contains 'January'. By omitting source_language (leaving it blank), GOOGLETRANSLATE automatically detects that the text is English and translates it to French, returning 'Janvier'. Auto-detection eliminates the need to manually specify source language for each row.

3. Translate conditional budget status to German

CategoryMonthBudgetedActualVariance
GroceriesJanuary400450-50
UtilitiesJanuary1501455
TransportationJanuary300320-20
GroceriesFebruary40038020
UtilitiesFebruary150155-5
TransportationFebruary3003000
=GOOGLETRANSLATE(IF(D2>C2,"Over budget","Under budget"),"en","de")

Result: Über dem Budget

Cell D2 (450) exceeds C2 (400), so the IF formula evaluates to 'Over budget', which GOOGLETRANSLATE then converts to German, returning 'Über dem Budget'. This combines conditional logic with translation to generate localized reports based on budget performance.

Common errors

Which GOOGLETRANSLATE error are you seeing?
GOOGLETRANSLATE returned an error#N/A
Use a valid ISO 639-1 language code: 'en' (English), 'es' (Spanish), 'fr' (French), 'de' (German), 'ja' (Japanese), 'zh' (Chinese), etc.
#VALUE!
Reference a single cell like A2, use a string literal like "Groceries", or use INDEX/VLOOKUP to extract a single value from a range before translating.
#CALC!
Retry the formula later, split large translations across multiple cells, or verify your Google account has access to the Translate API.
ErrorWhy it happensHow to fix it
#N/AThe language code provided is not a valid ISO 639-1 code or is not supported by Google Translate (e.g., using 'xyz' or a three-letter code instead of two letters).Use a valid ISO 639-1 language code: 'en' (English), 'es' (Spanish), 'fr' (French), 'de' (German), 'ja' (Japanese), 'zh' (Chinese), etc.
#VALUE!The text argument references a range or array instead of a single cell or string literal (e.g., A2:A10 or {"Groceries","Utilities"}).Reference a single cell like A2, use a string literal like "Groceries", or use INDEX/VLOOKUP to extract a single value from a range before translating.
#CALC!The Google Translate API is temporarily unavailable, rate-limited, or the text exceeds approximately 5,000 characters per cell.Retry the formula later, split large translations across multiple cells, or verify your Google account has access to the Translate API.

Tips and when to use something else

  • Use ISO 639-1 language codes (two letters like 'en', 'es', 'fr', 'de') rather than full language names; Google Translate doesn't recognize 'English' or 'Spanish', only 'en' and 'es'.
  • Leave source_language blank to use automatic language detection, which works reliably for most text; detection may struggle with very short text or ambiguous languages.
  • Combine GOOGLETRANSLATE with ARRAYFORMULA to translate entire columns efficiently in a single formula without copying down repeatedly.
  • Use DETECTLANGUAGE instead if you only need to identify what language a text is written in, rather than actually translating it.

Frequently asked questions

How can I translate an entire column at once without copying the formula to every row?
Wrap your GOOGLETRANSLATE formula in ARRAYFORMULA, like =ARRAYFORMULA(IF(ROW()=1,"Translated",GOOGLETRANSLATE(A2:A,"en","es"))). This applies the translation to all rows in column A while keeping the header unchanged. ARRAYFORMULA processes the entire range in a single formula instead of requiring copy-down.
What's the difference between leaving source_language blank vs. specifying 'en'?
Leaving it blank triggers automatic language detection, which is flexible for mixed-language input but may be slower and less accurate for ambiguous text. Specifying 'en' explicitly is faster and guarantees the source language, making it the safer choice when you know the input language.
Can I use GOOGLETRANSLATE to translate formulas or cell references?
No, GOOGLETRANSLATE only translates text content. If you reference a cell containing a formula, GOOGLETRANSLATE receives the formula's result (its value), not the formula itself. To translate formula results, nest GOOGLETRANSLATE outside the formula that produces the text.
Does GOOGLETRANSLATE preserve numbers, punctuation, and formatting?
Yes, GOOGLETRANSLATE preserves numbers, punctuation, whitespace, and special characters. HTML-like tags are generally maintained as well, though complex formatting is not supported. The function translates only text words while leaving symbols, numbers, and structure intact.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17