Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Nahradí v textu zadaný řetězec jiným. Určený dle zadaného pořadí nebo všechny.
Na první pohled funkce DOSADIT (stejně jako další funkce) nic neumí (zamění znaky). Na ten druhý, když se vhodně použijete, například s dalšími funkcemi získáte velice zajímavé možnosti (najednou šetříte desítky minut denně).
Jak na to prakticky od A do Z ukazuji v tomto článku, opět pro přehlednost je rozdělen na kapitoly:
Nahradí v textu zadaný řetězec jiným.
DOSADIT(text;starý;nový;instance)
SUBSTITUTE(text, starý, nový, instance)
Funkce rozlišuje velká a malá písmena.
Nahradit znaky například v textu "1.čtvrtletí 1991" potřebujeme nahradit jedničky dvojkou, nebo třeba jen první jednučku ve slově čtvrtletí, nebo z roku 1991 udělat 2991...
=DOSADIT("Datum prodeje"; "prodeje"; "nákupu")
=DOSADIT("1.čtvrtletí 1991"; "1"; "2")
=DOSADIT("1.čtvrtletí 1991";"1";"2";1)
=DOSADIT("1.čtvrtletí 1991"; "1"; "2"; 3)
=DOSADIT("1.čtvrtletí 1991"; "1"; "2"; 2)
Jak nahrazovat speciální znaky
Uvozovky ZNAK(34). Jak udělat z textu číslo.
=DOSADIT(B6;"""";"")
=--DOSADIT(B6;ZNAK(34);"")
=DOSADIT(B9;"*";"")
=DOSADIT(B10;"*";"")
Tilda ZNAK(126). Pozor aby se našla tilda. Je potřeba ji zadat přes funkci ZNAK.
=DOSADIT(B12;"'~";"") // chyba
=DOSADIT(B13;ZNAK(126)&ZNAK(126);"") // chyba
=DOSADIT(B14;ZNAK(126);"")
Apostrof ZNAK(39).
=DOSADIT(B14;ZNAK(39);"")
Některé programy využívají speciální mezeru Alt 0160, ASCI 160 neboli ZNAK(160).
=DOSADIT(B14;ZNAK(160);"")
=DOSADIT(H9;ZNAK(160);"*")
Problémy jsou se speciálními znaky, které jsem probral v předchozí kapitole, přeci jen ne v každé funkci je potřeba použít znak tilda (ona vlnovka).
Pokud je v buňce datum, nenajdete znaky (třeba tečku, kterou vidíte v datu). Ve skutečnosti je datum číslo. Proto lze dosazovat jen za čísla, která se v datum nalézají. V příkladu se dosazuje za datum 01.01.2015
=DOSADIT(B5;".";"/")
=DOSADIT(B6;"6";"aa")
=DOSADIT(B7;"0";"ab")
Funkce DOSADIT nezpracuje chybové hodnoty a výsledkem bude opět chyba.
=DOSADIT(B10;"0";"ab")
=DOSADIT(B11;"0";"ab")
Potřebuji spočítat kolik písmen (například e, a) se nachází ve slovním spojení: Nejkulaťoulinkatější kulička.
Jak řešit: Spočtete počet písmen ve slově, následně ve slově pomocí funkce DOSADIT odstraníte písmeno, které hledáte, tj. "u" (nahradíte prázdným znakem). Spočtete počet písmen tohoto slova (už je bez písmene u). No a pak jen odečtete délku (počet písmen před) a délku po (počet písmen) a máte výsledek.
=DÉLKA("Nejkulaťoulinkatější kulička.")-DÉLKA(DOSADIT("Nejkulaťoulinkatější kulička.";"u";""))
Potřebuji odřádkovat, když mám v buňce text a čárky znamenají odřádkování.
Jak řešit: Znak čárka nahradíte znamenkem tvrdý Enter, nebo-li funkce =ZNAK(10)
=DOSADIT(B6;", ";ZNAK(10))
Přepsat dnes na zítra. Ve větě, Práci udělám dnes.
Dim Hodnota As String
MsgBox ("Práci udělám dnes")
Hodnota = Replace("Práci udělám dnes", "dnes", "zítra")
MsgBox (Hodnota)
Podrobněji o VBA bude popsáno v samostatném článku.
Pokud se chcete dozvědět další informace o textových funkcích:
Soubor
Textová funkce DOSADIT (SUBSTITUTE) - prakticky
ke stažení zdarma. Obsahuje makra.
Využíváte nějaký trik s funkcí DOSADIT (SUBSTITUTE) , můžete zmínit v komentářích.
Článek byl aktualizován: 19.09.2020 10:59
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Můžete být prvními co zanechají smysluplný komentář.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |