Funkce "Hledat" hledá jen zleva do prava, lze to obráceně?

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3211
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Funkce "Hledat" hledá jen zleva do prava, lze to obráceně?

Příspěvekod atari » 07 dub 2011 11:25

Pomocí funkce Hledat v Excelu zjišťuji přípony souborů. Funkcí "Hledat" najdu kde je v názvu souboru tečka, a zbytek považuji za příponu - viz příloha.
Jelikož to hledá od leva, tak nastane problém když je v názvu souboru více teček. Má někdo nápad jak to vyřešit, aniž bych používal VBA?
Přílohy
zjisteni pripon.xls
(13.5 KiB) Staženo 91 x

Reklama
Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Funkce "Hledat" hledá jen zleva do prava, lze to obrácen

Příspěvekod X » 07 dub 2011 11:31

Můžeš název odříznout od konce a hledat v něm, prohledej příkazy text:

zprava(text;znaky)
Vrátí zadaný počet znaků od konce textového řetězce

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3211
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Funkce "Hledat" hledá jen zleva do prava, lze to obrácen

Příspěvekod atari » 07 dub 2011 11:44

To bych musel dělat metodou pokus omyl: Vezmu tři znaky od konce - prozkoumám jestli tam je tečka, pak 4 znaky - prozkoumám jestli tam je tečka atd.. to si nějak neumím moc dobře představit bez VBA.
Ještě mě napadlo, jestli to nemumí nějaká funkce třeba z verze 2007 nebo 2010, já tohle dělám na PC kde je verze XP-

cmuch
Level 4.5
Level 4.5
Příspěvky: 1544
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: Funkce "Hledat" hledá jen zleva do prava, lze to obrácen

Příspěvekod cmuch » 07 dub 2011 19:22

Ahoj,
Budem doufat, že budeš mít koncovku vždy v posledních čtyřech znacích.
A pokud to nechceš řešit pomocí makra tak snad asi takto:

Za sloupec C se soubory (viz soubor výše) vlož další se vzorcem
=ZPRAVA(C4;4)
Za tento pak
=DÉLKA(D4)
Potom tento
=HLEDAT(".";D4)
A nakonec získáš příponu souboru
=ZPRAVA(D4;E4-F4)

Jinak mě nic nenapadá.

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3211
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Funkce "Hledat" hledá jen zleva do prava, lze to obrácen

Příspěvekod atari » 07 dub 2011 20:12

cmuch píše:Budem doufat, že budeš mít koncovku vždy v posledních čtyřech znacích
No právě, to doufat nemůžu..... Takže chtě nechtě jsem se rozhodl pro to makro. ale mám tam jednu chybu, až ji vyřeším, tak to sem dám.

Funkce On error mi funguje jenom jednou a při druhém průchodu už nezafunguje. (Neboli při i = 1, to projde, ale při i= 2 to už neprojde) Poradí někdo??? Přidávám kod i soubor do přílohy. (Kod jsem zjednodušil, jen pro nalezení chyby)

Kód: Vybrat vše

Option Explicit

Sub Makro2()
Dim pozice As Byte, i As Long

For i = 1 To 3
   
On Error GoTo konec 'pokud v dalším řádku není tečka, hodí to chybu jde to na konec
pozice = WorksheetFunction.Search(".", "bbbbb") 'zjistí zda v řetezci je tečka - pokud tečka není, příkaz dává chybu
konec:

Next i
End Sub
Přílohy
pokus.xlsm
(14.32 KiB) Staženo 27 x

cmuch
Level 4.5
Level 4.5
Příspěvky: 1544
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: Funkce "Hledat" hledá jen zleva do prava, lze to obrácen

Příspěvekod cmuch » 15 dub 2011 18:02

Tak jsem zase tady :lol:

Na jednom zahraničním servru bylo toto.

Kód: Vybrat vše

=KDYŽ(JE.ČISLO(NAJÍT(".";A1));ČÁST(A1;1+NAJÍT("*";DOSADIT(A1;".";"*";DÉLKA(A1)-DÉLKA(DOSADIT(A1;".";""))));255);"")

Funguje parádně :bigups:

EDIT 17.4.20011

Předchozí vzorec zanechá i mezeru za poslední tečkou - asdfasf.agf. bmp --> "mezera"bmp

A tady je jeste jedna moznost, ktera odstrani i tu mezeru - sdfasf.agf. bmp --> bmp

Kód: Vybrat vše

=KDYŽ(JE.ČISLO(NAJÍT(".";A1));PROČISTIT(ZPRAVA(DOSADIT(A1;".";OPAKOVAT(" ";100));100));"")


To jen pro doplnění.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2858
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44
  • ErP - ,,nebezpečná" funkce? Příloha(y)
    od DifiCZ » 05 lis 2023 12:26 » v Vše ostatní (sw)
    11
    2629
    od WolfGunCZ Zobrazit poslední příspěvek
    09 lis 2023 13:16

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti