Diakritika v Excelu

· MS Office · Jiří Matějka

Excel nemá funkci, která by z textu odstranila diakritiku. Jde to čtyřmi objížďkami a každá se hodí na něco jiného: od ručního nahrazování po vlastní funkci v makru.

Ve zkratce

  • Excel nemá funkci na odstranění diakritiky, jde to přes Najít a nahradit, vlastní funkci v makru, vnořený vzorec s DOSADIT nebo externí web.
  • Pro opakovanou práci je nejpohodlnější vlastní funkce v makru, třeba =BEZDIAKRITIKY(A1), sešit se ale musí uložit jako .xlsm.
  • Vnořený vzorec s funkcí DOSADIT funguje bez maker v jakémkoli sešitu, je ale dlouhý přes celou obrazovku.

1. Najít a nahradit

Postupně nahradíte á → a, č → c a tak dál. U jednoho sloupce a jednorázové úlohy to stačí, u pravidelné práce je to pakárna: nahrazení je potřeba spustit zhruba čtyřicetkrát a pokaždé zvlášť pro malá a velká písmena.

2. Vlastní funkce v makru (UDF)

Nejpohodlnější řešení pro toho, kdo úlohu řeší opakovaně. Je to typický příklad věci, kterou Excel sám neumí a kterou řeší makro nebo doplněk. Do sešitu vložíte krátké makro a v listu pak píšete běžný vzorec, třeba =BEZDIAKRITIKY(A1). Hotová makra i s postupem najdete tady:

Sešit s makrem se musí uložit jako .xlsm a příjemce ho musí povolit. Do souborů, které kolují po firmě, se proto makro nehodí.

3. Vzorec s funkcí DOSADIT

Funkce =DOSADIT(text;starý;nový;instance) vymění jeden znak za jiný. Patří do skupiny textových funkcí, které se vyplatí naučit jako celek. Diakritických znaků je ale několik desítek, takže se funkce musí zanořit do sebe – výsledek vypadá takhle:

=DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(DOSADIT(**A1**;"á";"a");"Á";"A");"ä";"a");"Ä";"A");"č";"c");"Č";"C");"ď";"d");"Ď";"D");"é";"e");"ě";"e");"ë";"e");"É";"E");"Ě";"E");"Ë";"E");"í";"i");"Í";"I");"ň";"n");"Ň";"N");"ó";"o");"Ó";"O");"ö";"o");"Ö";"O");"ř";"r");"Ř";"R");"š";"s");"Š";"S");"ť";"t");"Ť";"T");"ú";"u");"Ú";"U");"ů";"u");"Ů";"U");"ü";"u");"Ü";"U");"ý";"y");"Ý";"Y");"ž";"z");"Ž";"Z")

Vzorec počítá s textem v buňce A1. Je to nečitelný netvor přes celou obrazovku, ale funguje bez maker a v jakémkoli sešitu. Další varianty jsou v tomhle fóru.

4. Externí weby

Pro jednorázový převod menšího množství textu nejrychlejší cesta:

Pozor na to, co do cizího webu vkládáte. Jména zaměstnanců, adresy klientů ani nic jiného osobního tam nepatří.

Práci s textem v Excelu, včetně DOSADIT a jejích sester, probíráme na kurzu Excel – práce s textem; vlastní funkce v makru na kurzu Makra v Excelu.

Časté otázky

Má Excel funkci na odstranění diakritiky?

Nemá. Nejbližší vestavěné řešení je vnořená funkce DOSADIT, jinak potřebujete makro nebo externí nástroj.

Jak odstranit diakritiku z celého sloupce najednou?

Vlastní funkcí z makra nebo vzorcem v pomocném sloupci, který pak vložíte zpět jako hodnoty (Ctrl+Shift+V).

Proč vůbec diakritiku odstraňovat?

Kvůli systémům, které si s ní neporadí: názvy souborů, e-mailové adresy, exporty do starších aplikací a klíče pro párování dat.

Můžu diakritiku odstranit na webu?

Ano, pro jednorázový převod menšího množství textu je to nejrychlejší cesta. Jména zaměstnanců, adresy klientů ani jiné osobní údaje ale do cizího webu nevkládejte.

Naučte se to pořádně

Článek ukázal směr, kurz vás to naučí použít na vlastních souborech.

Celý katalog kurzů →

Další články z kategorie MS Office

Všechny články →