Jak přeložit tabulku Excel bez rozbití vzorců nebo rozevíracích seznamů
Zjistěte, jaký text překladač po buňkách přehlédne v souboru .xlsx (text ve vzorcích, formátovaný text, odkazy, grafy, makra), opravte rozevírací seznamy a kódy, které může rozbít, a zkontrolujte výsledek pomocí bezplatného skriptu a testovacího sešitu.

Chcete-li přeložit celý sešit aplikace Excel, nahrajte soubor .xlsx do překladače dokumentů, místo abyste překládali buňky jednu po druhé. Příkaz Kontrola > Přeložit v aplikaci Excel funguje na text, který vyberete (Microsoft Support), což je v pořádku pro popisek, ale pomalé pro ceník. Překladač souborů přečte každou textovou buňku, přeloží ji a zapíše zpět na stejnou adresu, takže vzorce, čísla a data zůstanou tam, kde byla.
Co vám ale neřekne, je, který text nikdy nepřečetl. Text napsaný uvnitř vzorce, buňka s jedním tučným slovem, odkaz, poznámka, titulek grafu: při překladu po buňkách se všechny tyto mohou vrátit v původním jazyce. A dvě věci se mohou rozbít: rozevírací seznam, jehož povolené hodnoty nebyly přeloženy, a kód produktu, který přeložen byl.
Vytvořili jsme testovací sešit se dvěma listy s textem na každém z těchto míst, napsali jsme bezplatný kontrolní skript, který vypíše, kde se text nachází, a prohnali jsme sešit lokální reprodukcí zpracování tabulek, které používá BookTranslator. Tento průvodce ukazuje, co se vrátilo, co změnit před nahráním a jak přeložený soubor zkontrolovat.
Rychlá odpověď: Co se v sešitu překládá
| Kde se text nachází | Příklad z našeho testu | Přeloženo pomocí BookTranslator? | Co dělat |
|---|---|---|---|
| Buňky s prostým textem, včetně řádků záhlaví | "Modrý zápisník", "Cena" | Ano | Nic |
| Čísla, data, logické hodnoty | 4.5, 2026-10-30 | Ponecháno beze změny | Zkontrolujte číselné formáty pro cílový trh |
| Vzorce | =C2*D2 | Ponecháno beze změny | Nic |
| Text uvnitř vzorce | =IF(D2>5,"In stock","Low stock") | Ne | Přesuňte slova do buněk (viz krok 2) |
| Buňka se smíšeným formátováním | "Limitovaná edice pera" | Ne, celá buňka je přeskočena | Nejprve vymažte formátování, nebo ji přeložte ručně |
| Buňky s hypertextovým odkazem | "Stránka produktu" | Ne | Po překladu upravte text odkazu |
| Hodnota v buňce s rozevíracím seznamem | "Papírnictví" | Ano, ale rozevírací seznam ne | Opravte seznam, jinak buňka přestane být platná |
| Kódy s písmeny | "A-77", "B-09" | Odesláno překladateli | Po překladu je zkontrolujte |
| Kódy obsahující pouze číslice nebo symboly | "00123" | Ponechány beze změny | Nic |
| Poznámky a komentáře | "Před uvolněním zkontrolujte název dodavatele" | Ne | Přeložte je ručně, nebo je smažte |
| Názvy listů a pojmenované oblasti | "Produkty", PriceRange | Ne, aby vzorce mezi listy fungovaly dál | Listy přejmenovávejte ručně jen v nutném případě, a to po kontrole vzorců |
| Grafy a makra | Sloupcový graf, projekt VBA | V našem testu byly z přeloženého souboru odstraněny | Ponechte originál a později je znovu vytvořte (viz níže) |
Starší soubory .xls nejsou přijímány. Nejprve je otevřete v Excelu a uložte jako .xlsx. Soubory .xlsm s podporou maker jsou přijímány, ale před nahráním si přečtěte část o makrech: přeložený soubor makra neobsahuje, a pokud stažený soubor stále končí na .xlsm, před otevřením jej přejmenujte na .xlsx.
Krok 1: Spusťte kontrolu sešitu
Stáhněte si check_xlsx_text.py a spusťte jej na svém souboru:
python3 check_xlsx_text.py "Price list.xlsx"
Vyžaduje pouze Python 3 a soubor čte, aniž by jej měnil. Zde je souhrn pro náš vzorový sešit:
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
Pod počty je uvedena každá položka s listem a buňkou, například Products!E2 formula text 'In stock'. Tento seznam použijte jako seznam úkolů pro krok 2. Pokud váš sešit obsahuje grafy, textová pole, kontingenční tabulky nebo projekt maker, objeví se také v počtech.
README popisuje vzorový sešit, uvádí hashe souborů a odkazy na skripty, které jej vytvářejí, takže test můžete zopakovat.
Co se stalo s naším testovacím sešitem
Vzorový sešit jsme spustili přes kód, který používá obsluha tabulek BookTranslatoru, reprodukovaný lokálně 1. 11. 2026 se stejnou knihovnou (ExcelJS 4.4.0). Místo skutečného překladu jsme použili zástupný text, který před text každé buňky přidá „[DE]“. Tím se z testu vyloučil jazykový model, takže výsledky ukazují pouze to, co zpracování souboru odešle, zachová a zahodí.
Obsluha prochází každý list buňku po buňce. Buňku odešle k překladu pouze tehdy, pokud obsahuje hodnotu prostého textu, a přeskočí jakýkoli text složený pouze z číslic, interpunkce a symbolů. Vše ostatní v mřížce buněk se zkopíruje beze změny. BookTranslator poté vrátí dva soubory: přeložený sešit a dvojjazyčný sešit.
Přeložený sešit
Toto je soubor, který máte použít. Všech 6 vzorců, 7 čísel a dat, formáty měny a data, sloučené buňky, poznámka, pravidlo rozevíracího seznamu a pojmenovaný rozsah se vrátily beze změny. 9 buněk záhlaví a ostatní buňky s prostým textem byly přeloženy na místě. Tři výsledky vyžadují pozornost:
Text uvnitř vzorců zůstává ve zdrojovém jazyce. Sloupec Status používal =IF(D2>5,"In stock","Low stock"). Vzorec není textová buňka, takže jej obsluha nikdy nepřečte a „In stock“ zůstane v každém řádku anglicky. Totéž platí pro text spojený pomocí & nebo CONCAT a pro text uvnitř HYPERLINK.
Přeložená hodnota rozevíracího seznamu už neodpovídá svému seznamu. Buňka H2 měla rozevírací seznam, který povoloval „Stationery, Office, Art“. Hodnota buňky byla přeložena, ale seznam je uložen v pravidle ověření, nikoli v buňce, takže přeložen nebyl. Náš kontrolní režim porovnání to oznámil takto:
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']
Excel ponechá hodnotu, která porušuje pravidlo ověření, ale další člověk, který otevře rozevírací seznam, uvidí pouze staré volby a Data > Circle Invalid Data buňku označí.
Kódy s písmeny jsou odesílány překladateli. „00123“ bylo přeskočeno, protože obsahuje pouze číslice. „A-77“ a „B-09“ byly odeslány, protože obsahují písmeno. Zda se kód vrátí beze změny, pak závisí na modelu; nic ve zpracování souboru jej nechrání. SKU, které se vrátí jako „A-77-Artikel“, rozbije každé vyhledávání, které jej používá.
Dvojjazyčný sešit
Dvojjazyčný soubor vloží sloupec s překladem napravo od každého sloupce, který měl alespoň jednu přeloženou buňku, se záhlavími jako „Name (Translated)“. Přesune hodnoty buněk do nových sloupců, ale nepřesune formáty buněk ani neaktualizuje vzorce. V našem testu:
- formát ceny
$#,##0.00zůstal ve sloupci C, který nyní obsahuje názvy produktů, zatímco ceny se přesunuly do sloupce E bez něj; - formát data zůstal ve sloupci G, který nyní obsahuje množství, takže množství 10 se zobrazilo jako datum;
=C2*D2se přesunul do sloupce K, ale stále odkazoval na C2 a D2, které nyní obsahují název produktu a jeho překlad, takže už nemůže vrátit 45;- na listu Summary se
=SUM(Products!F2:F4)nyní sčítal prázdný sloupec s překladem.
Dvojjazyčný sešit je tedy určen ke čtení zdroje a překladu vedle sebe, nikoli k výpočtům. Neupravujte jej ani z něj nekopírujte vzorce.
Grafy a makra
Do samostatné kopie sešitu jsme přidali graf a projekt maker, uložené tak, jak je ukládá Excel. Ani jeden z nich nebyl v přeloženém ani v dvojjazyčném souboru. ExcelJS čte a zapisuje listy, styly, sdílený text, obrázky, tabulky a komentáře a nemá žádný kód pro části grafů ani pro projekt VBA, takže je při ukládání vynechá. Stejný kód nemá nic pro kontingenční tabulky, takže očekávejte, že i kontingenční tabulky budou vynechány, i když jsme je netestovali. Obslužný program také ukládá svůj výstup jako soubor .xlsx, který nemůže obsahovat makra.
Ještě jedno omezení testu: vzorový sešit jsme vytvořili samotným ExcelJS, což je nejpříznivější případ pro zachování formátů, sloučených buněk a pravidel ověřování. Sešit uložený v Excelu může obsahovat funkce, které ExcelJS nemodeluje, takže na svém vlastním souboru spusťte níže uvedený krok porovnání, místo abyste předpokládali stejně čistý výsledek.
Krok 2: Připravte sešit před nahráním
Pracujte na kopii. Kontrola vám řekne, které buňky změnit.
- Přesuňte text vzorců do buněk. Umístěte slova na malý list „Labels“ a nasměrujte na ně vzorec:
=IF(D2>5,Labels!$A$1,Labels!$A$2). Buňky s popisky jsou prostý text, takže se přeloží, a každý vzorec převezme překlad. Tato jediná změna obvykle vyřeší většinu počtu „text ve vzorci“, protože stejná fráze se obvykle opakuje v celém sloupci. - Přesuňte seznamy pro rozbalovací nabídky do buněk. V nabídce Data > Ověření dat změňte Zdroj z ručně zadaného seznamu (
Stationery,Office,Art) na oblast na listu Labels (=Labels!$B$1:$B$3). Hodnoty seznamu se pak přeloží spolu s buňkami, které je používají. Poté zkontrolujte několik buněk: rozbalovací nabídka přijme přeloženou hodnotu pouze tehdy, pokud model přeložil „Stationery“ stejně na obou místech. - Odstraňte smíšené formátování. Buňka s jedním tučným nebo barevným slovem se ukládá jako formátované úseky a zcela se vynechá. Vyberte buňku a zvolte Domů > Vymazat > Vymazat formáty nebo ji znovu napište a poté znovu použijte tučné písmo po překladu. Pokud jich máte mnoho, nejprve si je poznamenejte.
- Rozhodněte, co udělat s poznámkami a komentáři. Nepřekládají se. Smažte poznámky z revize, které nechcete posílat překladatelské službě, a zbytek přeložte ručně.
- Uložte sešity s makry jako
.xlsx. Ponechte si.xlsmjako hlavní soubor. Přeložte kopii.xlsxa poté buď zkopírujte přeložené textové sloupce zpět do hlavního souboru (Vložit jinak > Hodnoty, pouze textové sloupce, abyste nepřepsali vzorce), nebo exportujte moduly VBA a importujte je do přeloženého souboru. - Grafy nechte na později. Graf má málo textu: název, názvy os a legendu, která obvykle pochází z buněk záhlaví. Často je rychlejší znovu vytvořit graf v přeloženém sešitu ze stejných oblastí nebo vložit přeložené textové sloupce zpět do původního sešitu, aby se jeho grafy a kontingenční tabulky samy aktualizovaly.
Krok 3: Přeložte celý soubor
Nahrajte .xlsx na stránce překladu dokumentů, vyberte cílový jazyk a před platbou zkontrolujte zobrazenou cenu. Nahrání celého souboru přeloží všechny textové buňky na všech listech v jedné úloze, což usnadňuje zachování stejného názvu produktu ve 3. a 3 000. řádku. Náš průvodce vytvořením překladového slovníku vysvětluje, jak zajistit, aby se termíny, které se nesmí měnit, neměnily.
Po dokončení úlohy nabízí stránka Historie oba soubory ke stažení. Použijte přeložený sešit. Dvojjazyčný sešit otevírejte pouze pro kontrolu znění s někým, kdo čte oba jazyky.
Pokud pracujete v Google Sheets, existují dvě další cesty. Karta Dokumenty v Google Translate přijímá soubory .xlsx do 10 MB (Nápověda Google Translate); náš průvodce překladem Google Docs porovnává jeho možnosti. A Sheets má funkci GOOGLETRANSLATE(text, source_language, target_language) (Nápověda Google Docs Editors), kterou můžete vyplnit dolů do nového sloupce vedle zdroje. To je pohodlné pro jeden sloupec krátkých popisků, ale výsledky jsou vzorce, takže je před sdílením listu vložte jako hodnoty. DeepL také překládá dokumenty; viz co jeho limity pro dokumenty znamenají v praxi. Ať už použijete cokoli, nejprve spusťte kontrolu na zdroji: text uvnitř vzorců, odkazů a grafů se nachází na stejných místech bez ohledu na to, který nástroj soubor čte.
Krok 4: Zkontrolujte přeložený sešit
-
Spusťte režim porovnání. Položte zdrojový a přeložený soubor vedle sebe:
python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"Kontroluje, že každý vzorec, číslo a datum jsou nezměněné, že kódy s písmeny se vrátily přesně tak, jak byly, a že každá hodnota rozbalovací nabídky je v jejím seznamu. Použijte jej pouze na přeložený sešit. Protože dvojjazyčný soubor posouvá sloupce, byla by nahlášena téměř každá buňka.
-
Přepočítejte. Pokud vzorec po opravě popisků stále zobrazuje starý text, stiskněte F9 (nebo Vzorce > Přepočítat nyní).
-
Přeložte zbytky. Použijte seznam z kontroly z kroku 1: text odkazů, poznámky, názvy grafů a všechny buňky, u kterých jste vymazali formátování.
-
Hledejte oříznutý text. Překlady jsou často delší než zdrojový text a krátké řetězce rostou nejvíce. W3C cituje pokyny IBM, podle nichž je průměrné rozšíření z angličtiny do evropských jazyků 200–300 % u textů do 10 znaků (W3C). Záhlaví sloupců jsou krátká, proto rozšiřte sloupce nebo zapněte Zalamování textu tam, kde se text ořezává.
-
Zkontrolujte zobrazení čísel a dat. Hodnoty nebyly změněny, ale „4.50“ se může německému čtenáři zobrazovat jako „4,50“. To je formát buňky nebo místní nastavení, nikoli překlad.
-
„Neopravujte“ názvy funkcí. Pokud se v Excelu vašeho kolegy ve francouzštině zobrazuje
SOMMEmístoSUM, je to Excel, který zobrazuje své vlastní lokalizované názvy funkcí; vzorec je stejný. -
Nastavte listy se směrem zprava doleva. Pro arabštinu, hebrejštinu, perštinu nebo urdštinu zapněte Rozložení stránky > List zprava doleva a zkontrolujte zarovnání buněk.
-
Nechte jej zkontrolovat plynulým čtenářem, pokud je určen zákazníkům, například ceník nebo katalog produktů. Strojový překlad je dobrý první návrh, ne konečný.
Soubory CSV a TSV
Soubor .csv neobsahuje vzorce, formáty ani rozevírací seznamy, takže většina výše uvedených problémů mizí. Tři věci jsou jinak:
- Záhlavní řádek se nepřekládá. Zpracovatel považuje první řádek za záhlaví a překládá pouze datové řádky. Přeložte záhlaví ručně nebo je před nahráním zkopírujte do datového řádku a poté je přesuňte zpět.
- Sloupec se překládá jako celek. Pokud některá buňka ve sloupci obsahuje písmeno, odešle se každá buňka v tomto sloupci, která obsahuje písmeno, včetně kódů. Režim porovnání čte pouze
.xlsx, takže sloupec s kódy v CSV zkontrolujte ručně: zkopírujte jej z obou souborů do jednoho listu a porovnejte oba sloupce pomocí=EXACT(A2,B2). - CSV se vrací oddělené čárkami. Bez ohledu na to, jaký oddělovač zdroj používal, přeložené CSV používá čárky; soubor
.tsvsi zachovává tabulátory. V našem testu se CSV oddělené středníky vrátilo oddělené čárkami, přičemž desetinné čárky jako „4,50“ zůstaly v uvozovkách. Soubor je UTF-8 bez značky pořadí bajtů. Microsoft uvádí, že Excel otevře CSV UTF-8 normálně, pokud má tuto značku, a jinak doporučuje importovat jej pomocí Data > Získat data > Z textu/CSV (Microsoft Support). Pokud na soubor dvakrát kliknete a uvidíte zkomolené znaky s diakritikou, importujte jej tímto způsobem.
Pokud vaše data žijí v sešitu se vzorci, přeložte .xlsx. Export do CSV za účelem překladu zahodí všechny vzorce.
Časté problémy
| Problém | Pravděpodobná příčina | Co dělat |
|---|---|---|
| Celý sloupec stále říká „Skladem“ | Slova jsou uvnitř vzorce IF | Přesuňte je do buněk s popisky a ve vzorci na ně odkažte |
| Rozevírací seznam odmítá přeloženou hodnotu | Povolené hodnoty jsou zadány přímo v pravidle ověření | Změňte Zdroj pravidla na oblast buněk a přeložte tuto oblast |
| Kód produktu se změnil | Obsahuje písmena, takže byl odeslán překladateli | Opravte jej ve zdroji; spouštějte režim porovnání při každém dodání |
| Jedna buňka nebyla vůbec přeložena | Má smíšené formátování nebo je to odkaz | Vymažte formátování nebo upravte text odkazu, poté přeložte znovu nebo opravte ručně |
| Graf nebo makra zmizely | Knihovna použitá k přepsání souboru je neukládá | Přeložte kopii .xlsx a přeneste přeložený text zpět do originálu |
| Součty jsou v dvojjazyčném souboru nesprávné | Přidané sloupce posouvají hodnoty, ale ne vzorce ani formáty | Pro jakýkoli výpočet použijte přeložený sešit |
| Diakritika vypadá v přeloženém CSV souboru rozbitá | Excel uhodl nesprávné kódování | Importujte jej pomocí Data > Získat data > Z textu/CSV |
| Nahrání je odmítnuto | Soubor je .xls nebo vyžaduje heslo k otevření | Uložte jej jako běžný .xlsx bez hesla k otevření (samotná ochrana listu je v pořádku) |
Stejný princip platí i pro snímky: prezentace v PowerPointu také uchovává text na místech, která překladatel přeskočí a kontrola pro tento článek funguje stejně jako tato.
Související příspěvky





