Como traduzir uma planilha do Excel sem quebrar fórmulas ou listas suspensas
Descubra o texto que um tradutor célula por célula ignora em um arquivo .xlsx (texto de fórmula, rich text, links, gráficos, macros), corrija as listas suspensas e códigos que ele pode quebrar e verifique o resultado com um script gratuito e uma pasta de trabalho de teste.

Para traduzir uma pasta de trabalho inteira do Excel, envie o arquivo .xlsx para um tradutor de documentos em vez de traduzir célula por célula. O comando Revisão > Traduzir do próprio Excel funciona no texto selecionado (Suporte da Microsoft), o que é adequado para um rótulo e lento para uma lista de preços. Um tradutor de arquivos lê cada célula de texto, traduz e grava de volta no mesmo endereço, de modo que fórmulas, números e datas permanecem onde estavam.
O que ele não informa é qual texto nunca foi lido. Texto digitado dentro de uma fórmula, uma célula com uma palavra em negrito, um link, uma nota, um título de gráfico: em uma tradução célula por célula, tudo isso pode voltar no idioma original. E duas coisas podem quebrar: uma lista suspensa cujos valores permitidos não foram traduzidos e um código de produto que foi.
Criamos uma pasta de trabalho de teste com duas planilhas contendo texto em cada um desses lugares, escrevemos um verificador gratuito que lista onde o texto está e executamos a pasta de trabalho em uma reprodução local do tratamento de planilhas que o BookTranslator usa. Este guia mostra o que voltou, o que alterar antes de enviar e como verificar o arquivo traduzido.
Resposta rápida: o que é traduzido em uma pasta de trabalho
| Onde está o texto | Exemplo do nosso teste | Traduzido pelo BookTranslator? | O que fazer |
|---|---|---|---|
| Células de texto simples, incluindo linhas de cabeçalho | "Caderno azul", "Preço" | Sim | Nada |
| Números, datas, booleanos | 4.5, 2026-10-30 | Mantidos como estavam | Verifique os formatos de número para o mercado-alvo |
| Fórmulas | =C2*D2 | Mantidas como estavam | Nada |
| Texto dentro de uma fórmula | =IF(D2>5,"In stock","Low stock") | Não | Mova as palavras para células (veja o Passo 2) |
| Célula com formatação mista | "Edição limitada de caneta" | Não, a célula inteira é ignorada | Limpe a formatação primeiro ou traduza manualmente |
| Células com hiperlink | "Página do produto" | Não | Edite o texto do link após a tradução |
| Valor dentro de uma célula com lista suspensa | "Papelaria" | Sim, mas a lista suspensa não | Corrija a lista ou a célula deixará de ser válida |
| Códigos com letras | "A-77", "B-09" | Enviados ao tradutor | Verifique-os após a tradução |
| Códigos apenas com dígitos ou símbolos | "00123" | Mantidos como estavam | Nada |
| Notas e comentários | "Verificar nome do fornecedor antes da liberação" | Não | Traduza manualmente ou exclua-os |
| Nomes de planilhas e intervalos nomeados | "Produtos", PriceRange | Não, para que as fórmulas entre planilhas continuem funcionando | Renomeie as planilhas manualmente apenas se for necessário, depois de verificar as fórmulas |
| Gráficos e macros | Um gráfico de barras, um projeto VBA | Removidos do arquivo traduzido em nosso teste | Mantenha o original, recrie depois (veja abaixo) |
Arquivos .xls mais antigos não são aceitos. Abra-os no Excel e salve como .xlsx primeiro. Arquivos .xlsm com macros são aceitos, mas leia a seção sobre macros antes de enviar um: o arquivo traduzido não tem macros e, se o download ainda terminar em .xlsm, renomeie para .xlsx antes de abri-lo.
Etapa 1: Execute o Verificador na Sua Pasta de Trabalho
Baixe check_xlsx_text.py e execute-o no seu arquivo:
python3 check_xlsx_text.py "Price list.xlsx"
Ele precisa apenas do Python 3 e lê o arquivo sem alterá-lo. Aqui está o resumo da nossa pasta de trabalho de exemplo:
Counts by location:
cell code, ID or address 2
cell link text 1
cell mixed formatting 1
cell plain text 15
comments comment or note text 1
dropdown list of allowed values 1
formula text text inside a formula 6
sheet sheet name 2
workbook defined name 1
Plain text cells (translated by a cell-by-cell translator): 15
Items that need a decision before you upload: 12
Abaixo das contagens, ele lista cada item com sua planilha e célula, como Products!E2 formula text 'In stock'. Use essa lista como sua lista de tarefas para a Etapa 2. Se sua pasta de trabalho tiver gráficos, caixas de texto, tabelas dinâmicas ou um projeto de macro, eles também aparecem nas contagens.
O README descreve a pasta de trabalho de exemplo, lista os hashes dos arquivos e fornece links para os scripts que a criam, para que você possa repetir o teste.
O Que Aconteceu com Nossa Pasta de Trabalho de Teste
Executamos a pasta de trabalho de exemplo pelo código que o manipulador de planilhas do BookTranslator usa, reproduzido localmente em 2026-11-01 com a mesma biblioteca (ExcelJS 4.4.0). Em vez de uma tradução real, usamos um espaço reservado que adiciona "[DE]" na frente do texto de cada célula. Isso mantém o modelo de linguagem fora do teste, então os resultados mostram apenas o que o manuseio do arquivo envia, mantém e descarta.
O manipulador lê cada planilha célula por célula. Ele envia uma célula para tradução apenas se a célula contiver um valor de texto simples e ignora qualquer texto composto apenas por dígitos, pontuação e símbolos. Todo o resto na grade de células é copiado sem alterações. O BookTranslator então retorna dois arquivos: uma pasta de trabalho traduzida e uma pasta de trabalho bilíngue.
A pasta de trabalho traduzida
Este é o arquivo a ser usado. Todas as 6 fórmulas, 7 números e datas, os formatos de moeda e data, as células mescladas, a nota, a regra de lista suspensa e o intervalo nomeado voltaram inalterados. As 9 células de cabeçalho e as outras células de texto simples foram traduzidas no local. Três resultados precisam de atenção:
O texto dentro das fórmulas permanece no idioma de origem. A coluna Status usava =IF(D2>5,"In stock","Low stock"). Uma fórmula não é uma célula de texto, então o manipulador nunca a lê, e "In stock" permanece em inglês em todas as linhas. O mesmo se aplica a texto unido com & ou CONCAT, e a texto dentro de HYPERLINK.
Um valor de lista suspensa traduzido não corresponde mais à sua lista. A célula H2 tinha uma lista suspensa que permitia "Stationery, Office, Art". O valor da célula foi traduzido, mas a lista é armazenada na regra de validação, não em uma célula, então não foi. O modo de comparação do nosso verificador relatou assim:
Problems: 3
Products!A3: code changed: 'A-77' -> '[DE] A-77'
Products!A4: code changed: 'B-09' -> '[DE] B-09'
Products!H2: '[DE] Stationery' is not in its dropdown list ['Art', 'Office', 'Stationery']
O Excel mantém um valor que viola sua regra de validação, mas a próxima pessoa a abrir a lista suspensa vê apenas as opções antigas, e Dados > Circular Dados Inválidos sinalizará a célula.
Códigos com letras são enviados ao tradutor. "00123" foi ignorado porque contém apenas dígitos. "A-77" e "B-09" foram enviados, porque contêm uma letra. Se um código volta inalterado depende então do modelo; nada no manuseio do arquivo o protege. Um SKU que volta como "A-77-Artikel" quebra toda pesquisa que o utiliza.
A pasta de trabalho bilíngue
O arquivo bilíngue insere uma coluna de tradução à direita de cada coluna que tinha pelo menos uma célula traduzida, com cabeçalhos como "Name (Translated)". Ele move os valores das células para suas novas colunas, mas não move os formatos das células nem atualiza as fórmulas. Em nosso teste:
- o formato de preço
$#,##0.00permaneceu na coluna C, que agora contém nomes de produtos, enquanto os preços foram movidos para a coluna E sem ele; - o formato de data permaneceu na coluna G, que agora contém a quantidade, então uma quantidade de 10 era exibida como data;
=C2*D2foi movida para a coluna K, mas ainda apontava para C2 e D2, que agora contêm o nome do produto e sua tradução, então não pode mais retornar 45;- na planilha Summary,
=SUM(Products!F2:F4)agora somava uma coluna de tradução vazia.
Portanto, a pasta de trabalho bilíngue serve para ler o original e a tradução lado a lado, não para calcular. Não a edite nem copie fórmulas dela.
Gráficos e macros
Em uma cópia separada da pasta de trabalho, adicionamos um gráfico e um projeto de macro, armazenados da forma como o Excel os armazena. Nenhum dos dois estava no arquivo traduzido ou no bilíngue. O ExcelJS lê e grava planilhas, estilos, texto compartilhado, imagens, tabelas e comentários, e não tem código para partes de gráfico ou para o projeto VBA, então os deixa de fora ao salvar. O mesmo código não tem nada para tabelas dinâmicas, então espere que elas também sejam descartadas, embora não tenhamos testado uma. O manipulador também salva sua saída como um arquivo .xlsx, que não pode conter macros.
Mais um limite do teste: criamos a pasta de trabalho de exemplo com o próprio ExcelJS, que é o caso mais favorável para manter formatos, mesclagens e regras de validação. Uma pasta de trabalho salva pelo Excel pode conter recursos que o ExcelJS não modela, então execute a etapa de comparação abaixo no seu próprio arquivo em vez de presumir o mesmo resultado limpo.
Etapa 2: Prepare a pasta de trabalho antes de enviar
Trabalhe em uma cópia. O verificador informa quais células alterar.
- Mova o texto das fórmulas para células. Coloque as palavras em uma pequena planilha "Labels" e aponte a fórmula para elas:
=IF(D2>5,Labels!$A$1,Labels!$A$2). As células de rótulo são texto simples, então são traduzidas, e toda fórmula capta a tradução. Essa única mudança costuma corrigir a maior parte da contagem de "texto em fórmula", porque a mesma frase tende a se repetir por uma coluna inteira. - Mova as listas suspensas para células. Em Dados > Validação de Dados, altere a Origem de uma lista digitada (
Stationery,Office,Art) para um intervalo na planilha Labels (=Labels!$B$1:$B$3). Os valores da lista então são traduzidos junto com as células que os usam. Verifique algumas células depois: a lista suspensa só aceita o valor traduzido se o modelo traduziu "Stationery" da mesma forma nos dois lugares. - Limpe a formatação mista. Uma célula com uma palavra em negrito ou colorida é armazenada como trechos formatados e ignorada por completo. Selecione a célula e escolha Página Inicial > Limpar > Limpar Formatação, ou digite novamente, e reaplique o negrito após a tradução. Se você tiver muitas dessas, anote-as primeiro.
- Decida o que fazer com notas e comentários. Eles não são traduzidos. Exclua as notas de revisão que você não quer enviar a um serviço de tradução e traduza o restante manualmente.
- Salve pastas de trabalho com macros como
.xlsx. Mantenha seu.xlsmcomo mestre. Traduza uma cópia.xlsxe depois copie as colunas de texto traduzidas de volta para o mestre (Colar Especial > Valores, somente colunas de texto, para não sobrescrever fórmulas) ou exporte os módulos VBA e importe-os para o arquivo traduzido. - Deixe os gráficos para depois. Um gráfico tem pouco texto: um título, títulos de eixo e uma legenda que geralmente vem das células de cabeçalho. Muitas vezes é mais rápido recriar o gráfico na pasta de trabalho traduzida a partir dos mesmos intervalos, ou colar as colunas de texto traduzidas de volta na pasta de trabalho original para que seus gráficos e tabelas dinâmicas se atualizem sozinhos.
Etapa 3: Traduza o arquivo inteiro
Envie o .xlsx na página do tradutor de documentos, escolha o idioma de destino e confira o preço exibido antes de pagar. O envio do arquivo inteiro traduz todas as células de texto de todas as planilhas em uma única tarefa, o que facilita manter um nome de produto igual na linha 3 e na linha 3.000. Nosso guia para criar um glossário de tradução explica como fixar termos que não devem variar.
Quando a tarefa termina, a página Histórico oferece os dois downloads. Use a pasta de trabalho traduzida. Abra a pasta de trabalho bilíngue apenas para revisar o texto com alguém que leia os dois idiomas.
Se você trabalha no Google Sheets, há duas outras rotas. A aba Documentos do Google Translate aceita arquivos .xlsx de até 10 MB (Ajuda do Google Translate); nosso guia de tradução do Google Docs compara suas opções. E o Sheets tem uma função GOOGLETRANSLATE(text, source_language, target_language) (Ajuda dos Editores do Google Docs) que você pode preencher em uma nova coluna ao lado do original. Isso é conveniente para uma coluna de rótulos curtos, mas os resultados são fórmulas, então cole-os como valores antes de compartilhar a planilha. O DeepL também traduz documentos; veja o que seus limites de documentos significam na prática. Seja qual for a ferramenta, execute o verificador no original primeiro: texto dentro de fórmulas, links e gráficos fica nos mesmos lugares independentemente da ferramenta que lê o arquivo.
Etapa 4: Verifique a pasta de trabalho traduzida
-
Execute o modo de comparação. Coloque o original e o arquivo traduzido lado a lado:
python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"Ele verifica se cada fórmula, número e data permaneceu inalterado, se os códigos com letras voltaram exatamente como estavam e se cada valor de lista suspensa está em sua lista. Use-o apenas na pasta de trabalho traduzida. Como o arquivo bilíngue desloca colunas, quase todas as células seriam reportadas.
-
Recalcule. Se uma fórmula ainda mostrar o texto antigo depois de você corrigir os rótulos, pressione F9 (ou Fórmulas > Calcular Agora).
-
Traduza o que sobrou. Use a lista do verificador da Etapa 1: texto de links, notas, títulos de gráficos e quaisquer células cuja formatação você removeu.
-
Procure por texto cortado. As traduções costumam ser mais longas que o original, e as strings curtas são as que mais crescem. O W3C cita diretrizes da IBM que estimam a expansão média do inglês para línguas europeias em 200–300% para textos de até 10 caracteres (W3C). Cabeçalhos de coluna são curtos, então alargue as colunas ou ative Quebrar Texto onde eles ficarem cortados.
-
Verifique a exibição de números e datas. Os valores não foram alterados, mas "4.50" pode precisar aparecer como "4,50" para um leitor alemão. Isso é formato de célula ou configuração regional, não tradução.
-
Não "conserte" nomes de funções. Se o Excel em francês de um colega mostra
SOMMEem vez deSUM, isso é o Excel exibindo seus próprios nomes localizados de funções; a fórmula é a mesma. -
Configure planilhas da direita para a esquerda. Para árabe, hebraico, persa ou urdu, ative Layout da Página > Planilha da Direita para a Esquerda e verifique o alinhamento das células.
-
Peça a revisão de um leitor fluente se o material for para clientes, como uma lista de preços ou um catálogo de produtos. Uma tradução automática é um bom rascunho, não a versão final.
Arquivos CSV e TSV
Um arquivo .csv não tem fórmulas, formatos nem listas suspensas, então a maioria dos problemas acima desaparece. Três coisas são diferentes:
- A linha de cabeçalho não é traduzida. O processador trata a primeira linha como cabeçalhos e traduz apenas as linhas de dados. Traduza os cabeçalhos manualmente, ou copie-os para uma linha de dados antes do upload e mova-os de volta depois.
- Uma coluna é traduzida como um todo. Se qualquer célula de uma coluna tiver uma letra, todas as células dessa coluna que tiverem uma letra são enviadas, inclusive códigos. O modo de comparação lê apenas
.xlsx, então verifique manualmente uma coluna de códigos CSV: copie-a dos dois arquivos para uma planilha e compare as duas colunas com=EXACT(A2,B2). - Um CSV volta separado por vírgulas. Qualquer que seja o delimitador usado na origem, o CSV traduzido usa vírgulas; um arquivo
.tsvmantém suas tabulações. No nosso teste, um CSV separado por ponto e vírgula voltou separado por vírgulas, com vírgulas decimais como "4,50" mantidas entre aspas. O arquivo é UTF-8 sem marca de ordem de bytes. A Microsoft diz que o Excel abre normalmente um CSV UTF-8 quando ele tem essa marca e, caso contrário, recomenda importá-lo com Dados > Obter Dados > De Texto/CSV (Suporte da Microsoft). Se você clicar duas vezes no arquivo e vir acentos corrompidos, importe-o dessa forma.
Se seus dados estão em uma pasta de trabalho com fórmulas, traduza o .xlsx. Exportar para CSV para traduzi-lo descarta todas as fórmulas.
Problemas Comuns
| Problema | Causa provável | O que fazer |
|---|---|---|
| Uma coluna inteira ainda diz "In stock" | As palavras estão dentro de uma fórmula IF | Mova-as para células de rótulo e aponte a fórmula para elas |
| Uma lista suspensa rejeita o valor traduzido | Os valores permitidos estão digitados na regra de validação | Altere a Origem da regra para um intervalo de células e traduza o intervalo |
| Um código de produto mudou | Ele contém letras, então foi enviado ao tradutor | Corrija-o na origem; execute o modo de comparação em cada entrega |
| Uma célula não foi traduzida de forma alguma | Ela tem formatação mista ou é um link | Limpe a formatação ou edite o texto do link, depois retraduza ou corrija manualmente |
| O gráfico ou as macros desapareceram | A biblioteca usada para reescrever o arquivo não os salva | Traduza uma cópia .xlsx e mova o texto traduzido de volta para o original |
| Os totais estão errados no arquivo bilíngue | As colunas adicionadas deslocam valores, mas não fórmulas ou formatos | Use a pasta de trabalho traduzida para qualquer cálculo |
| Os acentos parecem corrompidos em um CSV traduzido | O Excel adivinhou a codificação errada | Importe-o com Dados > Obter Dados > De Texto/CSV |
| O upload é recusado | O arquivo é .xls ou precisa de senha para abrir | Salve-o como um .xlsx normal sem senha de abertura (a proteção de planilha sozinha está ok) |
A mesma ideia se aplica a slides: uma apresentação do PowerPoint também mantém texto em locais que um tradutor pula, e o verificador para esse artigo funciona da mesma forma que este.
Posts Relacionados





