BookTranslator
BookTranslator

Jak przetłumaczyć arkusz kalkulacyjny Excel bez psucia formuł i list rozwijanych

Dowiedz się, jaki tekst pomija tłumacz komórek w pliku .xlsx (tekst w formułach, tekst sformatowany, linki, wykresy, makra), napraw listy rozwijane i kody, które może zepsuć, i sprawdź wynik za pomocą darmowego skryptu oraz testowego skoroszytu.

BookTranslator

BookTranslator Team

13 min czytania

Aby przetłumaczyć cały skoroszyt programu Excel, prześlij plik .xlsx do tłumacza dokumentów, zamiast tłumaczyć komórki jedna po drugiej. Wbudowana funkcja Recenzja > Tłumacz w programie Excel działa na zaznaczonym tekście (Microsoft Support), co sprawdza się przy etykiecie, ale jest zbyt wolne przy cenniku. Tłumacz plików odczytuje każdą komórkę tekstową, tłumaczy ją i zapisuje z powrotem pod tym samym adresem, dzięki czemu formuły, liczby i daty pozostają na swoim miejscu.

Nie mówi jednak, jakiego tekstu nigdy nie odczytał. Tekst wpisany wewnątrz formuły, komórka z jednym pogrubionym słowem, link, notatka, tytuł wykresu: w tłumaczeniu komórka po komórce wszystko to może wrócić w oryginalnym języku. Mogą też wystąpić dwa problemy: lista rozwijana, której dozwolone wartości nie zostały przetłumaczone, oraz kod produktu, który został przetłumaczony.

Stworzyliśmy testowy skoroszyt z dwoma arkuszami, zawierający tekst w każdym z tych miejsc, napisaliśmy darmowy skrypt sprawdzający, który wskazuje, gdzie znajduje się tekst, i przepuściliśmy skoroszyt przez lokalną reprodukcję obsługi arkuszy kalkulacyjnych używanej przez BookTranslator. Ten przewodnik pokazuje, co wróciło, co zmienić przed przesłaniem pliku i jak sprawdzić przetłumaczony plik.

Krótka odpowiedź: co jest tłumaczone w skoroszycie

Gdzie znajduje się tekstPrzykład z naszego testuCzy tłumaczone przez BookTranslator?Co zrobić
Zwykłe komórki tekstowe, w tym wiersze nagłówków"Niebieski notes", "Cena"TakNic
Liczby, daty, wartości logiczne4.5, 2026-10-30Pozostawione bez zmianSprawdź formaty liczb pod kątem rynku docelowego
Formuły=C2*D2Pozostawione bez zmianNic
Tekst wewnątrz formuły=IF(D2>5,"In stock","Low stock")NiePrzenieś słowa do komórek (patrz krok 2)
Komórka z mieszanym formatowaniem"Limitowana edycja długopisu"Nie, cała komórka jest pomijanaNajpierw wyczyść formatowanie lub przetłumacz ją ręcznie
Komórki z hiperłączami"Strona produktu"NieEdytuj tekst linku po tłumaczeniu
Wartość w komórce listy rozwijanej"Artykuły papiernicze"Tak, ale lista rozwijana niePopraw listę, w przeciwnym razie komórka będzie nieprawidłowa
Kody z literami"A-77", "B-09"Wysyłane do tłumaczaSprawdź je po tłumaczeniu
Kody zawierające tylko cyfry lub symbole"00123"Pozostawione bez zmianNic
Notatki i komentarze"Sprawdź nazwę dostawcy przed wydaniem"NiePrzetłumacz ręcznie lub usuń je
Nazwy arkuszy i zakresy nazwane"Produkty", PriceRangeNie, aby formuły między arkuszami nadal działałyZmieniaj nazwy arkuszy ręcznie tylko wtedy, gdy musisz, po sprawdzeniu formuł
Wykresy i makraWykres słupkowy, projekt VBAUsunięto z przetłumaczonego pliku w naszym teścieZachowaj oryginał, odbuduj później (patrz poniżej)

Starsze pliki .xls nie są akceptowane. Otwórz je w Excelu i najpierw zapisz jako .xlsx. Pliki .xlsm z obsługą makr są akceptowane, ale przed przesłaniem przeczytaj sekcję o makrach: przetłumaczony plik nie zawiera makr, a jeśli pobrany plik nadal ma rozszerzenie .xlsm, zmień jego nazwę na .xlsx przed otwarciem.

Krok 1: Uruchom narzędzie sprawdzające na swoim skoroszycie

Pobierz check_xlsx_text.py i uruchom go na swoim pliku:

python3 check_xlsx_text.py "Price list.xlsx"

Wymaga tylko Pythona 3 i odczytuje plik bez jego zmiany. Oto podsumowanie dla naszego przykładowego skoroszytu:

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

Poniżej liczby elementów znajduje się lista każdego z nich wraz z arkuszem i komórką, np. Products!E2 formula text 'In stock'. Użyj tej listy jako listy zadań do wykonania w kroku 2. Jeśli Twój skoroszyt zawiera wykresy, pola tekstowe, tabele przestawne lub projekt makr, również pojawią się one w podsumowaniu.

README opisuje przykładowy skoroszyt, podaje sumy kontrolne plików i linki do skryptów, które go tworzą, dzięki czemu możesz powtórzyć test.

Co stało się z naszym testowym skoroszytem

Przepuściliśmy przykładowy skoroszyt przez kod używany przez obsługę arkuszy kalkulacyjnych BookTranslator, odtworzony lokalnie 2026-11-01 z tą samą biblioteką (ExcelJS 4.4.0). Zamiast prawdziwego tłumaczenia użyliśmy symbolu zastępczego, który dodaje „[DE]” przed tekstem każdej komórki. Dzięki temu model językowy nie bierze udziału w teście, więc wyniki pokazują tylko to, co obsługa plików wysyła, zachowuje i pomija.

Obsługa odczytuje każdy arkusz komórka po komórce. Wysyła komórkę do tłumaczenia tylko wtedy, gdy zawiera ona zwykłą wartość tekstową, i pomija każdy tekst składający się wyłącznie z cyfr, znaków interpunkcyjnych i symboli. Wszystko inne w siatce komórek jest kopiowane bez zmian. Następnie BookTranslator zwraca dwa pliki: przetłumaczony skoroszyt i skoroszyt dwujęzyczny.

Przetłumaczony skoroszyt

To jest plik, którego należy użyć. Wszystkie 6 formuł, 7 liczb i dat, formaty walut i dat, scalone komórki, notatka, reguła listy rozwijanej i nazwany zakres wróciły bez zmian. 9 komórek nagłówków i pozostałe komórki z tekstem zostały przetłumaczone na miejscu. Trzy wyniki wymagają uwagi:

Tekst wewnątrz formuł pozostaje w języku źródłowym. Kolumna Status używała =IF(D2>5,"In stock","Low stock"). Formuła nie jest komórką tekstową, więc obsługa nigdy jej nie odczytuje, a „In stock” pozostaje po angielsku w każdym wierszu. To samo dotyczy tekstu łączonego za pomocą & lub CONCAT oraz tekstu wewnątrz HYPERLINK.

Przetłumaczona wartość listy rozwijanej nie pasuje już do swojej listy. Komórka H2 miała listę rozwijaną z opcjami „Stationery, Office, Art”. Wartość komórki została przetłumaczona, ale lista jest przechowywana w regule sprawdzania poprawności, a nie w komórce, więc nie została przetłumaczona. Tryb porównania naszego narzędzia sprawdzającego zgłosił to tak:

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 zachowuje wartość, która narusza regułę sprawdzania poprawności, ale następna osoba, która otworzy listę rozwijaną, zobaczy tylko stare opcje, a opcja Dane > Zakreśl nieprawidłowe dane oznaczy tę komórkę.

Kody zawierające litery są wysyłane do tłumacza. „00123” zostało pominięte, ponieważ zawiera tylko cyfry. „A-77” i „B-09” zostały wysłane, ponieważ zawierają literę. To, czy kod wróci bez zmian, zależy wtedy od modelu; nic w obsłudze plików go nie chroni. SKU, które wróci jako „A-77-Artikel”, psuje każde wyszukiwanie, które go używa.

Skoroszyt dwujęzyczny

Plik dwujęzyczny wstawia kolumnę tłumaczenia po prawej stronie każdej kolumny, która miała co najmniej jedną przetłumaczoną komórkę, z nagłówkami takimi jak „Name (Translated)”. Przenosi wartości komórek do nowych kolumn, ale nie przenosi formatów komórek ani nie aktualizuje formuł. W naszym teście:

  • format ceny $#,##0.00 pozostał w kolumnie C, która teraz zawiera nazwy produktów, podczas gdy ceny przeniosły się do kolumny E bez tego formatu;
  • format daty pozostał w kolumnie G, która teraz zawiera ilość, więc ilość 10 wyświetlała się jako data;
  • =C2*D2 przeniosła się do kolumny K, ale nadal wskazywała na C2 i D2, które teraz zawierają nazwę produktu i jego tłumaczenie, więc nie może już zwrócić 45;
  • w arkuszu Summary =SUM(Products!F2:F4) sumowało teraz pustą kolumnę tłumaczeń.

Zatem dwujęzyczny skoroszyt służy do czytania źródła i tłumaczenia obok siebie, a nie do obliczeń. Nie edytuj go ani nie kopiuj z niego formuł.

Wykresy i makra

W osobnej kopii skoroszytu dodaliśmy wykres i projekt makr, zapisane tak, jak robi to Excel. Żadnego z nich nie było w pliku przetłumaczonym ani dwujęzycznym. ExcelJS odczytuje i zapisuje arkusze, style, tekst współdzielony, obrazy, tabele i komentarze, ale nie ma kodu dla części wykresów ani projektu VBA, więc pomija je podczas zapisu. Ten sam kod nie ma nic dla tabel przestawnych, więc należy się spodziewać, że tabele przestawne również zostaną pominięte, choć nie testowaliśmy takiej tabeli. Program obsługujący zapisuje też wynik jako plik .xlsx, który nie może przechowywać makr.

Jeszcze jedno ograniczenie testu: zbudowaliśmy przykładowy skoroszyt samym ExcelJS, co jest najłagodniejszym przypadkiem dla zachowania formatów, scalonych komórek i reguł sprawdzania poprawności. Skoroszyt zapisany przez Excel może zawierać funkcje, których ExcelJS nie modeluje, więc uruchom opisany poniżej krok porównania na własnym pliku, zamiast zakładać równie czysty wynik.

Krok 2: Przygotuj skoroszyt przed przesłaniem

Pracuj na kopii. Narzędzie sprawdzające wskaże, które komórki zmienić.

  1. Przenieś tekst formuł do komórek. Umieść słowa w małym arkuszu „Labels” i skieruj na nie formułę: =IF(D2>5,Labels!$A$1,Labels!$A$2). Komórki etykiet zawierają zwykły tekst, więc zostaną przetłumaczone, a każda formuła przejmie tłumaczenie. Ta jedna zmiana zwykle usuwa większość pozycji w liczbie „tekst formuły”, ponieważ ta sama fraza powtarza się w całej kolumnie.
  2. Przenieś listy rozwijane do komórek. W Dane > Sprawdzanie poprawności danych zmień Źródło z listy wpisanej ręcznie (Stationery,Office,Art) na zakres w arkuszu Labels (=Labels!$B$1:$B$3). Wartości listy zostaną wtedy przetłumaczone razem z komórkami, które ich używają. Sprawdź potem kilka komórek: lista rozwijana zaakceptuje przetłumaczoną wartość tylko wtedy, gdy model przetłumaczył „Stationery” tak samo w obu miejscach.
  3. Usuń mieszane formatowanie. Komórka z jednym pogrubionym lub kolorowym słowem jest zapisywana jako sformatowane fragmenty i całkowicie pomijana. Zaznacz komórkę i wybierz Narzędzia główne > Wyczyść > Wyczyść formatowanie albo wpisz ją ponownie, a następnie ponownie zastosuj pogrubienie po tłumaczeniu. Jeśli masz wiele takich komórek, najpierw je zanotuj.
  4. Zdecyduj, co zrobić z notatkami i komentarzami. Nie są tłumaczone. Usuń notatki przeglądu, których nie chcesz wysyłać do usługi tłumaczeniowej, a pozostałe przetłumacz ręcznie.
  5. Zapisz skoroszyty z makrami jako .xlsx. Zachowaj plik .xlsm jako główny. Przetłumacz kopię .xlsx, a następnie albo skopiuj przetłumaczone kolumny tekstowe z powrotem do pliku głównego (Wklej specjalnie > Wartości, tylko kolumny tekstowe, aby nie nadpisać formuł), albo wyeksportuj moduły VBA i zaimportuj je do przetłumaczonego pliku.
  6. Zostaw wykresy na później. Wykres ma niewiele tekstu: tytuł, tytuły osi i legendę, która zwykle pochodzi z komórek nagłówka. Często szybciej jest odtworzyć wykres w przetłumaczonym skoroszycie z tych samych zakresów albo wkleić przetłumaczone kolumny tekstowe z powrotem do oryginalnego skoroszytu, aby jego wykresy i tabele przestawne same się zaktualizowały.

Krok 3: Przetłumacz cały plik

Prześlij plik .xlsx na stronie tłumaczenia dokumentów, wybierz język docelowy i sprawdź wyświetloną cenę przed zapłatą. Przesłanie całego pliku tłumaczy każdą komórkę tekstową na każdym arkuszu w jednym zadaniu, co ułatwia zachowanie tej samej nazwy produktu w wierszu 3 i wierszu 3000. Nasz przewodnik po tworzeniu glosariusza tłumaczeniowego wyjaśnia, jak ustalić terminy, które nie mogą się zmieniać.

Po zakończeniu zadania strona Historia oferuje oba pliki do pobrania. Użyj przetłumaczonego skoroszytu. Dwujęzyczny skoroszyt otwieraj tylko po to, aby omówić brzmienie z osobą znającą oba języki.

Jeśli pracujesz w Arkuszach Google, są dwie inne drogi. Karta Dokumenty w Tłumaczu Google przyjmuje pliki .xlsx o rozmiarze do 10 MB (Pomoc Tłumacza Google); nasz przewodnik po tłumaczeniu Dokumentów Google porównuje jego opcje. Arkusze Google mają też funkcję GOOGLETRANSLATE(text, source_language, target_language) (Pomoc edytorów Dokumentów Google), którą możesz wypełnić w dół nowej kolumny obok źródła. Jest to wygodne dla jednej kolumny krótkich etykiet, ale wyniki są formułami, więc wklej je jako wartości przed udostępnieniem arkusza. DeepL również tłumaczy dokumenty; zobacz co jego limity dokumentów oznaczają w praktyce. Czegokolwiek użyjesz, najpierw uruchom narzędzie sprawdzające na źródle: tekst wewnątrz formuł, łącza i wykresy znajdują się w tych samych miejscach niezależnie od tego, które narzędzie czyta plik.

Krok 4: Sprawdź przetłumaczony skoroszyt

  1. Uruchom tryb porównania. Umieść źródło i przetłumaczony plik obok siebie:

    python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"
    

    Sprawdza, czy każda formuła, liczba i data są niezmienione, czy kody z literami wróciły dokładnie takie, jakie były, oraz czy każda wartość listy rozwijanej znajduje się na swojej liście. Używaj go tylko na przetłumaczonym skoroszycie. Ponieważ plik dwujęzyczny przesuwa kolumny, zgłoszona zostałaby prawie każda komórka.

  2. Przelicz ponownie. Jeśli formuła nadal pokazuje stary tekst po poprawieniu etykiet, naciśnij F9 (lub Formuły > Oblicz teraz).

  3. Przetłumacz pozostałości. Skorzystaj z listy narzędzia sprawdzającego z kroku 1: tekst łączy, notatki, tytuły wykresów i wszelkie komórki, z których usunięto formatowanie.

  4. Szukaj uciętego tekstu. Tłumaczenia są często dłuższe niż tekst źródłowy, a krótkie ciągi rosną najbardziej. W3C przytacza wytyczne IBM, według których średnie wydłużenie tekstu z angielskiego na języki europejskie wynosi 200–300% dla tekstów do 10 znaków (W3C). Nagłówki kolumn są krótkie, więc poszerz kolumny lub włącz zawijanie tekstu tam, gdzie się ucinają.

  5. Sprawdź wyświetlanie liczb i dat. Wartości nie zostały zmienione, ale „4.50” może wymagać wyświetlania jako „4,50” dla niemieckiego czytelnika. To format komórki lub ustawienie regionalne, a nie tłumaczenie.

  6. Nie „naprawiaj” nazw funkcji. Jeśli francuski Excel kolegi pokazuje SOMME zamiast SUM, to Excel wyświetla własne zlokalizowane nazwy funkcji; formuła jest ta sama.

  7. Ustaw arkusze od prawej do lewej. W przypadku arabskiego, hebrajskiego, perskiego lub urdu włącz Układ strony > Arkusz od prawej do lewej i sprawdź wyrównanie komórek.

  8. Zleć przegląd biegłemu czytelnikowi, jeśli dokument trafia do klientów, np. cennik lub katalog produktów. Tłumaczenie maszynowe to dobry pierwszy szkic, nie finalna wersja.

Pliki CSV i TSV

Plik .csv nie ma formuł, formatów ani list rozwijanych, więc większość powyższych problemów znika. Trzy rzeczy są inne:

  • Wiersz nagłówka nie jest tłumaczony. Program traktuje pierwszy wiersz jako nagłówki i tłumaczy tylko wiersze danych. Przetłumacz nagłówki ręcznie albo skopiuj je do wiersza danych przed przesłaniem i przenieś z powrotem po tłumaczeniu.
  • Kolumna jest tłumaczona jako całość. Jeśli jakakolwiek komórka w kolumnie zawiera literę, wysyłana jest każda komórka w tej kolumnie zawierająca literę, łącznie z kodami. Tryb porównania odczytuje tylko .xlsx, więc sprawdź kolumnę kodów CSV ręcznie: skopiuj ją z obu plików do jednego arkusza i porównaj obie kolumny za pomocą =EXACT(A2,B2).
  • CSV wraca rozdzielony przecinkami. Niezależnie od separatora użytego w źródle, przetłumaczony CSV używa przecinków; plik .tsv zachowuje tabulatory. W naszym teście CSV rozdzielony średnikami wrócił rozdzielony przecinkami, z przecinkami dziesiętnymi takimi jak „4,50” zachowanymi w cudzysłowach. Plik jest w UTF-8 bez znacznika kolejności bajtów. Microsoft podaje, że Excel otwiera CSV UTF-8 normalnie, gdy ma ten znacznik, a w przeciwnym razie zaleca importowanie go przez Dane > Pobierz dane > Z tekstu/CSV (Microsoft Support). Jeśli dwukrotne kliknięcie pliku pokazuje zniekształcone znaki diakrytyczne, zaimportuj go w ten sposób.

Jeśli Twoje dane znajdują się w skoroszycie z formułami, przetłumacz plik .xlsx. Eksport do CSV w celu tłumaczenia wyrzuca wszystkie formuły.

Częste problemy

ProblemPrawdopodobna przyczynaCo zrobić
Cała kolumna nadal mówi „In stock”Słowa są wewnątrz formuły IFPrzenieś je do komórek etykiet i skieruj formułę na nie
Lista rozwijana odrzuca przetłumaczoną wartośćDozwolone wartości są wpisane w regule sprawdzania poprawnościZmień źródło reguły na zakres komórek i przetłumacz ten zakres
Kod produktu uległ zmianieZawiera litery, więc został wysłany do tłumaczaPopraw go w źródle; uruchamiaj tryb porównania przy każdej dostawie
Jedna komórka w ogóle nie została przetłumaczonaMa mieszane formatowanie lub jest linkiemWyczyść formatowanie lub edytuj tekst linku, a następnie przetłumacz ponownie albo popraw ręcznie
Wykres lub makra zniknęłyBiblioteka użyta do przepisania pliku nie zapisuje ichPrzetłumacz kopię .xlsx i przenieś przetłumaczony tekst z powrotem do oryginału
Sumy są błędne w pliku dwujęzycznymDodane kolumny przesuwają wartości, ale nie formuły ani formatyDo wszelkich obliczeń używaj przetłumaczonego skoroszytu
Znaki diakrytyczne wyglądają na zniekształcone w przetłumaczonym pliku CSVExcel błędnie odgadł kodowanieZaimportuj go przez Dane > Pobierz dane > Z tekstu/CSV
Przesłanie jest odrzucanePlik jest w formacie .xls lub wymaga hasła do otwarciaZapisz go jako zwykły .xlsx bez hasła otwarcia (samo zabezpieczenie arkusza jest w porządku)

Ta sama zasada dotyczy slajdów: prezentacja PowerPoint również przechowuje tekst w miejscach, które tłumacz pomija, a narzędzie sprawdzające z tamtego artykułu działa tak samo jak to.

Powiązane wpisy