Translate Google Sheets with AI: Formulas for Whole Columns

Sanskar Tiwari

Published By

Founder, SheetAI · Amazon author·sanskartiwari.io

Updated on ·12 min read

How to translate Google Sheets columns in bulk, from the free GOOGLETRANSLATE formula to AI translation with tone, glossaries and character limits.

Translating a Whole Column Without Copying and Pasting

If you need to translate Google Sheets data, you probably have a column of product names, descriptions, ad headlines, support tickets or customer reviews, and a deadline. Pasting each cell into a translation website works for five rows. It does not work for five hundred.

This guide is for anyone running a shop, a marketing team or a support inbox out of a spreadsheet. There are two ways to translate a column in bulk, and they suit different jobs. The first is the free built-in GOOGLETRANSLATE formula. The second is AI translation, where you can tell the model about tone, a glossary, character limits and words that must stay in English.

I use both. I will show where each one is good enough, where it falls short, and how to set up the AI version so the output is consistent from row to row.

What You Need

For the built-in formula you need nothing. It is part of Google Sheets.

For AI translation you need the SheetAI add-on. It is a Google Sheets add-on from the Google Workspace Marketplace, and it works only in Google Sheets, not in Microsoft Excel.

  1. Install it from the Google Workspace Marketplace.
  2. In your sheet, open Extensions > SheetAI App > Launch to open the sidebar.
  3. Either paste your own API key in the sidebar settings (OpenAI, Anthropic Claude, Google Gemini, xAI Grok or Replicate, and you pay the provider directly), or use a hosted plan that needs no key. Hosted plans start at $12 per month, and the details are on the pricing page.

If you have not used the add-on before, get started here first.

Method 1: The Built-In GOOGLETRANSLATE Formula

The syntax is:

=GOOGLETRANSLATE(A2, "en", "hi")

The three arguments are the text, the source language code and the target language code. Write the formula in the first row, then drag it down the column. It is free, it is fast, and it has no setup.

Here are the codes I use most often:

LanguageCode
Englishen
Hindihi
Spanishes
Frenchfr
Germande
Portuguesept
Japaneseja
Arabicar

If your column mixes languages, use "auto" as the source and let Sheets detect it:

=GOOGLETRANSLATE(A2, "auto", "en")

This is the quickest way to translate a column of mixed-language reviews into English so you can read them.

Here is what it looks like on some English shop copy translated to Spanish.

Shop copy
B2fx=GOOGLETRANSLATE(A2,"en","es")
ABC
1EnglishGOOGLETRANSLATESheetAI
2Cloud Throw: soft enough to live on the sofa.Manta Nube: lo suficientemente suave para vivir en el sofá.Cloud Throw: tan suave que no querrás levantarte del sofá.
3Free returns within 30 daysDevoluciones gratuitas dentro de los 30 díasDevoluciones gratis durante 30 días
4A hand-poured soy candle with fig and cedar.Una vela de soja vertida a mano con higo y cedro.Una vela de soja artesanal con aroma a higo y cedro.
5Back in stock, ships tomorrowDe nuevo en stock, se envía mañanaYa disponible de nuevo, se envía mañana
6Treat yourself to a cosy night inDate un capricho con una noche acogedora en casaDate un capricho: una noche tranquila en casa
Translations
Column B is the built-in formula. Column C is the same text through SheetAI. The sample outputs are illustrative.

The first row shows the typical weakness. The formula translated the product name "Cloud Throw" into "Manta Nube", which is a literal translation of a brand name that you probably wanted to keep. The rest of the rows are understandable, but a few read like a translation, not like copy a Spanish shop would write.

When GOOGLETRANSLATE Is Enough

It is a good choice when you need the gist. Reading foreign-language reviews, scanning a supplier sheet, checking what a column of survey answers says, or producing a rough draft that a person will edit. It costs nothing and you can run it on thousands of rows.

Where It Falls Short

It has no idea what your text is for. It cannot be told to keep a brand name, to use a formal or friendly tone, to stay under a character limit or to follow your glossary. Short strings with no context (a single word like "Cart" or "Light") are easy for any translation tool to get wrong, because the word could mean several things.

Method 2: AI Translation with SheetAI

SheetAI adds a dedicated function for translation:

=SHEETAI_TRANSLATE(A2, "hindi")

The second argument is the target language, written as a name. Here is an English to Hindi example, since many people search for how to do an English to Hindi translate in Google Sheet.

Order emails
B2fx=SHEETAI_TRANSLATE(A2,"hindi")
AB
1EnglishHindi
2Thank you for your orderआपके ऑर्डर के लिए धन्यवाद
3Your order has shippedआपका ऑर्डर भेज दिया गया है
4Track your parcelअपना पार्सल ट्रैक करें
5Free delivery on your first orderआपके पहले ऑर्डर पर मुफ़्त डिलीवरी
6Welcomeस्वागत है
Hindi
Short notification text translated to Hindi with one formula.

For plain sentences like these, the built-in formula and the AI function will often agree. The difference shows up when you need to control the result, and that is where =SHEETAI(...) with your own prompt comes in. It takes a prompt, then optional max tokens, temperature and model:

=SHEETAI("Translate into Spanish for an online shop. Friendly tone. Keep the brand name Cloud Throw in English. Text: "&A2, 300, 0.2)

A low temperature such as 0.2 keeps translations close to the source and more consistent between rows. You can also choose a model as the fourth argument, for example "c3s" for Claude Sonnet or "4o" for GPT-4o. The Anthropic models page and OpenAI models page list what is available. If you want to understand the prompt side of this in more depth, the guide to using ChatGPT in Google Sheets covers the basics.

Step-by-Step: Localise a Product Catalogue with a Glossary

This is the workflow I would use for a shop catalogue going into a second language.

Step 1: Put the Rules in Fixed Cells

On a separate tab, or in a few cells at the top of the sheet, write down the rules once:

E1: Spanish
E2: Cloud Throw, SheetAI, Nordic Oat
E3: Friendly, short sentences, use "tu" not "usted"

Then every formula reads the same rules and every row follows them. If you change the glossary, the whole column follows.

Step 2: Write the Formula

In B2, next to your English description in A2:

=SHEETAI("Translate this product description into "&$E$1&" for an online shop. Keep these terms exactly as written, untranslated: "&$E$2&". Style: "&$E$3&". Return only the translation. Text: "&A2, 400, 0.2)

The $ signs lock the references, so they do not shift when you drag the formula down.

Step 3: Fill in Batches

Google Sheets custom functions time out after about 30 seconds per cell. Fill long columns in batches of 50 to 100 rows, not 5,000 at once. Results are cached, so running the same prompt on the same text again does not bill you twice.

Step 4: Freeze the Values

Once you are happy with a batch, copy the column and use Paste special > Values only. This stops the cells from recalculating later. There is a short guide on how to prevent formula recalculation.

Step 5: Spot-Check

Read a sample. Anything customer-facing should be checked by a native speaker before it goes live. I treat the AI output as a strong first draft, not a finished translation.

Translate Into Several Languages at Once

A neat way to handle many languages is to put the language name in the header row and reference it in the formula:

=SHEETAI_TRANSLATE($A2, B$1)

The $A locks the source column, and the B$1 locks the header row. Drag the formula right across the languages and then down the rows, and one formula fills the whole grid.

Store messages
B2fx=SHEETAI_TRANSLATE($A2,B$1)
ABCD
1EnglishSpanishFrenchGerman
2Free returns within 30 daysDevoluciones gratuitas durante 30 díasRetours gratuits sous 30 joursKostenlose Rücksendung innerhalb von 30 Tagen
3Your order has shippedTu pedido ha sido enviadoVotre commande a été expédiéeIhre Bestellung wurde versandt
4Thank you for your orderGracias por tu pedidoMerci pour votre commandeVielen Dank für Ihre Bestellung
5Track your parcelSigue tu paqueteSuivez votre colisVerfolgen Sie Ihr Paket
6Add to basketAñadir a la cestaAjouter au panierIn den Warenkorb
Languages
One formula in B2, dragged across and then down. The language names in row 1 drive it.

You will notice the Spanish uses the informal "tu" while the French and German use the formal form. Different languages have different conventions for shops, and if you have a preference you should say so in a prompt rather than leave it to chance. That is another reason to use =SHEETAI(...) with your own instructions for customer-facing text.

Translate Customer Reviews to English, Then Classify Them

This is one of the most useful bulk translate jobs, and it works the opposite way round. You collect reviews in several languages and want to know what people think without reading each one.

First translate to English in column B:

=SHEETAI_TRANSLATE(A2, "english")

Then classify the English text in column C:

=SHEETAI_CLASSIFY(B2, "Positive, Neutral, Negative")
Reviews
C2fx=SHEETAI_CLASSIFY(B2,"Positive, Neutral, Negative")
ABC
1Original reviewEnglishSentiment
2Llegó rápido y la manta es preciosaIt arrived quickly and the blanket is lovelyPositive
3Le colis est arrivé abîméThe parcel arrived damagedNegative
4Gute Qualität, aber etwas zu kleinGood quality, but a little too smallNeutral
5No recomiendo este productoI do not recommend this productNegative
6Très belle odeur, je recommandeLovely scent, I recommend itPositive
All markets
Translate first, then classify the English text so one category list covers every market.

Translating first means you keep a single category list instead of maintaining one per language. If you want more than one label per review (for example "Delivery" and "Quality" together), use =SHEETAI_TAG instead. The full guide to classifying data automatically in Google Sheets goes through writing good category lists.

Translate Ad Copy With a Character Limit

Ad platforms limit how long your text can be. Google Ads responsive search ads, for example, allow headlines of up to 30 characters. A literal translation often runs longer than the English, so a normal translation formula can produce text that gets rejected.

Put the limit in the prompt, then check it with a normal formula:

B2: =SHEETAI("Translate this ad headline into Spanish. It must be 30 characters or fewer, natural and punchy. Do not translate the brand name SheetAI. Headline: "&A2, 100, 0.3)
C2: =IF(LEN(B2)<=30, "OK", "Too long")

Models do not count characters perfectly, which is why the LEN check in column C matters. For any row marked "Too long", re-run it with a tighter prompt such as "25 characters or fewer", or shorten it by hand.

Prompt Tips for Better Translations

  • Say what the text is. "Product description for an online shop" gives a different result from "support email reply".
  • Name the audience and tone. Formal or informal, friendly or neutral, and which country if the language varies (Spanish for Mexico is not the same as Spanish for Spain).
  • List words to leave alone. Brand names, product names, SKUs and technical terms go in a do-not-translate list in a fixed cell.
  • Ask for the translation only. Add "Return only the translation" so you do not get a polite introduction in every cell.
  • Keep temperature low. Around 0.2 is a sensible start for translation.
  • Give short strings some context. A one-word label like "Light" is ambiguous. Write "Light (as in lightweight)" in the prompt, or translate it in a longer phrase.
  • Keep a column of the source text. You will want it when someone asks why a line was translated a certain way.

Limits and When to Use Something Else

Machine translation and AI translation are both good drafting tools. Neither is a replacement for a human where the stakes are high.

  • Legal and medical text. Do not use machine or AI translation alone for contracts, terms, consent forms, medical instructions or anything where a wrong word has real consequences. Use a qualified translator.
  • Customer-facing copy. Have a native speaker spot-check it before it goes live, especially on your homepage, checkout and emails.
  • The AI only sees the cells you reference. If the meaning depends on context that is not in the cell, add that context to the prompt.
  • Very long columns. Fill in batches because of the roughly 30 second per-cell timeout.
  • Fully formatted documents. If you need to translate a whole Word file or PDF with layout intact, a dedicated document translation tool is a better fit than a spreadsheet.
  • Low-resource languages. Quality varies by language. The more widely used the language, the better the output tends to be, so check a sample in any language you cannot read yourself.

If a plain gist is all you need, use GOOGLETRANSLATE and keep it free. If the text is going in front of customers, use the AI version with a glossary and then have it reviewed.

Frequently Asked Questions

How do I translate Google Sheets cells automatically?

Use =GOOGLETRANSLATE(A2, "en", "es") for the built-in route, or =SHEETAI_TRANSLATE(A2, "spanish") with SheetAI. Write the formula in the first row and drag it down the column. Both update when the source cell changes, so paste values once you are done.

What is the Google Sheet translate formula for English to Hindi?

The built-in version is =GOOGLETRANSLATE(A2, "en", "hi"). The SheetAI version is =SHEETAI_TRANSLATE(A2, "hindi"). For anything customer-facing, ask a Hindi speaker to review the result.

Can I bulk translate a column into several languages?

Yes. Put the language names in the header row, for example Spanish, French and German in B1, C1 and D1, then use =SHEETAI_TRANSLATE($A2, B$1) and drag it across and down. Fill large sets in batches of 50 to 100 rows.

Is there an AI that translates Google Sheets better than GOOGLETRANSLATE?

It depends on the job. For a quick gist, the built-in formula is hard to beat because it is free and instant. An AI model is better when you need a particular tone, a glossary, a length limit or brand names kept as they are, because you can tell it those rules in the prompt.

Can I keep a translation from changing later?

Copy the translated column and use Paste special > Values only. That replaces the formulas with plain text. Results are also cached, so the same prompt on the same text is not billed twice.

Try It on a Small Column First

Pick ten rows of your own copy, translate them both ways side by side, and see which result you would actually publish. You can install SheetAI from the Google Workspace Marketplace, and the documentation lists every function.

About the author

Sanskar Tiwari profile photo
Sanskar Tiwari— Founder, SheetAI · Amazon author

sanskartiwari.io·Amazon author

Sanskar Tiwari is the founder of SheetAI and IndianAppGuy Tech. He has built 25+ productivity products (including MagicSlides and SheetAI), serving millions of users, and is a published Amazon author. He writes practical Google Sheets and AI automation guides for marketers, analysts, and operators.

Translate Google Sheets with AI: Formulas for Whole Columns