
Excel funkce v angličtině
Ahoj, už mě dělší dobu vytáčí, kdy Excel má funkce přeložené do češtiny. Stávají se mi situace, kdy potřebuji nějakou funkci, najdu si ji v angličtině, okamžitě pochopím a pak 10 minut hledám, jak se daná funkce jmenuje v češtině. Je nějaká možnost si v Excelu přeložit funkce do angličtiny? Děkuji.
Excel EN→NÁRODNÍ Překladač názvů funkcí (VBA makro)
Popis
Toto jednoduché VBA makro pro Excel umožňuje zadávat anglické názvy funkcí i v lokalizovaných verzích Excelu (např. české, německé, francouzské atd.). Pokud Excel nerozpozná anglický název funkce (např. IF, VLOOKUP) a zobrazí chybu #NÁZEV?, makro automaticky přepíše vzorec, čímž vyvolá překlad názvů funkcí do národního jazyka (např. KDYŽ, SVERWEIS, SI).
🔍 Jak to funguje
Makro sleduje změny na listu. Pokud buňka obsahuje vzorec a výsledkem je chybová hláška (např. #NÁZEV? v češtině), makro tento vzorec automaticky znovu nastaví, čímž donutí Excel, aby provedl interní překlad názvů funkcí podle lokalizace.
⚠️ Překlad se týká pouze názvů funkcí, nikoli syntaxe vzorců – je nutné psát vzorce ve správném formátu daného jazyka.
✅ Příklady (v české lokalizaci)
Zadaný vzorec:
=IF(A1>0;"kladné";"záporné")
→ Přeloženo automaticky na:
=KDYŽ(A1>0;"kladné";"záporné")
Funguje i s vnořenými funkcemi:
=LEN(IF(A1>0;"ok";"nok"))
→ Přeloženo na:
=DÉLKA(KDYŽ(A1>0;"ok";"nok"))
🌍 Mezinárodní použití
Tento skript lze upravit pro jakýkoli jazyk, stačí:
Psát vzorce s anglickými funkcemi, ale používat národní syntaxi (v češtině např. ; místo ,).
Zjistit, jakou chybovou hlášku Excel zobrazuje při nerozpoznané funkci (např. #NAME?, #NOM?, #NÁZEV?).
Upravit podmínku v makru:
If Target.Text = "#NÁZEV?" Then
→ nahradit podle své verze Excelu (např. "#NAME?" pro německou).
💻 Kód makra
'****************************************************
' Easy Excel EN -› Localized Function Translator *
' *
' Copyright (c) 2025 Ing. Jan Sypal *
' *
' Don't remove this comment *
'****************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xFo As String
If Target.Count > 1 Then Exit Sub
xFo = Target.Formula
' for other language identify the error text shown in your Excel version
' when the formula fails and replace #NÁZEV?
If xFo <> "" And Target.Text = "#NÁZEV?" Then
On Error Resume Next
Target.Formula = xFo
On Error GoTo 0
End If
End Sub
🛠 Instalace
Otevři Excel a stiskni ALT + F11 pro spuštění Visual Basic Editoru.
V levém panelu vyber požadovaný list (např. List1).
Vlož výše uvedený kód do okna pro daný list.
Ulož soubor jako .xlsm a při otevření povol makra.
⚠️ Omezení
Funguje pouze při změně jedné buňky.
Rozkopírování vzorce do dalších buněk probíhá běžnou cestou.
Je-li oblast převedena na Excel tabulku (Ctrl + T), stačí zadat vzorec jen do první buňky ve sloupci.
Nepřekládá syntaxi vzorce – musí být zadán ve formátu národního jazyka (např. středníky ; místo čárek ,).
Funguje pouze z angličtiny do jazyka Excelu podle lokalizace.
Určeno pro desktopovou verzi Excelu (Windows).
👤 Autor
Ing. Jan Sypal (Česká republika)