Nahrazeni znaku v bunce v sesitu Excelu

11 odpovědí řadit od nejnovějších

21. 3. 2025 • 18:19

Potrebuji poradit, existuje nejaka funkce, ktera je schopna zamenit vice znaku v bunce za jine? Konkretne potrebuji konvertovat hexa cisla napr. C3B1 na 3CD8. Vzdy je jasne dano, jak se znaky prohodi (0<->0, 1<->8, 2<->4, 3<->C, ...) A nemuzu jet pres Najit a nahradit, protoze neodfiltruju, ktere znaky uz se prohodily a ktere ne. Samozrejme muzu jit pres mezikrok, nejdriv si to namapovat na G, H, I, atd. a pak to prevest na pozadovany vysledek, ale zajimalo by me jestli existuje neco elegantnejsiho pres nejakou funkci.

21. 3. 2025 • 18:40

A chces nahrazovat? Neni lepsi puvodni nechat a prevedene (pomoci funkce ve VBA napr.) zobrazit ve vedlejsi bunce? Konverzi udelas pres pole, kde budou 2 stringy - najit a nahradit treba0123084ca pak je to zalezitost jednoducheho cyklu. MP

21. 3. 2025 • 19:25

Samozrejme ze je mi jedno, jestli nahradim nebo vysledek bude v jine bunce radku. Mam proste 1000 radku hexadecimalnich cisel typu 0C F0 6A 31 2B nebo 0F 4D 92 33 5E a ty potrebuju zmenit podle urceneho klice. Ve VBA sem nikdy nedelal, tudiz o tom vim kulovy.

21. 3. 2025 • 20:37

=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;0;"g");1;"h");2;"i");3;"j");4;"k");5;"l");6;"m");7;"n");8;"o");9;"p");"A";"q");"B";"r");"C";"s");"D";"t");"E";"u");"F";"v");"g";"0");"h";"8");"i";"4");"j";"C");"k";"2");"l";"7");"m";"A");"n";"5");"o";"1");"p";"9");"q";"6");"r";"D");"s";"3");"t";"B");"u";"F");"v";"E")Sice Ukázat celý příspěvek

21. 3. 2025 • 20:41

3 způsoby1. řetězení funkce dosadit=SUBSTITUTE(SUBSTITUTE(A1, "old_text1", "new_text1"), "old_text2", "new_text2")2 roztrhat textový řetězec na znaky (funkce zleva), nahradit znaky a opět složit do textového řetězce (funkce concat)3. pomocí vbas vba ti může pomoc copilot, např, zadej how to substitute more characters at once in excel vbahttps://pastebin.com/SHrkzehg

21. 3. 2025 • 22:55

Urob zameny taketo: Nie 2 => 4, ale trochu iny retazec, o ktorom vies, ze je to stvorka, ale aj nie je... 2 => "stvorka". Tak sa Ti nestane, ze nahradenu 4-ku budes znovu nahradzat na 2.4 => "dvojka"3 => "cecko"C => "trojka"...A na konci, po vsetkych zamenach len vratis slova:"stvorka" => 4"dvojka" => 2"cecko" => C"trojka" => 3...

22. 3. 2025 • 9:30

DIk za rady, holt se tomu mezikroku G, H, I, ... nevyhnu.

23. 3. 2025 • 10:15

Dej sanci VBA, je to tupy cyklus. Na netu najdes vzory. Treba takto (bez kontrol atd atd)Function PrekladZnaku(InputString As String) As String Dim i As Integer Const SrcChars = "1234567890" Const DstChars = "2134567890" Dim TmpS As String Dim OutS As String OutS = "" For i = 1 To Len(InputString) TmpS = Mid(InputString, i, 1) If InStr(1, SrcChars, TmpS, vbBinaryCompare) > 0 Then TmpS = Mid(DstChars, InStr(1, SrcChars, TmpS, vbBinaryCompare), 1) OutS = OutS & TmpS Next i PrekladZnaku = OutSEnd FunctionMP

23. 3. 2025 • 19:43

Vyzkousim uvidim. 🙂

23. 3. 2025 • 10:21

A musí to být nutně v Excelu? Možná by spíš pomohl Notepad++ a podobné editory.

23. 3. 2025 • 19:43

Nemusi to bejt v excelu, kdysi davno bych si na to napsal program v C, ale to uz je pres 20 let, co sem to umel.

24. 3. 2025 • 9:38

Ak si robil pred 20 rokmi v C, tak to je ako vcera. Ja som robil v C pred 33 rokmi. To sa nezabuda, je to ako bicykel alebo auto...Skus na pracu so stringami Python. Je celkom fajn.https://www.geeksforgeeks.org/how-to-search-...in-python/Vela zdaru. 🙂

Určitě si přečtěte

Články odjinud