Stránka 1 z 1
Pomoc s funkcí
Napsal: 28 dub 2008 15:20
od cauli
Zdravim,
mam takovy maly problem, mam soubor kde je asi 25000 radku s daty (je to CSV) a potrebuji v nem vyhledat data a vratit data z jineho sloupce, pres standardni funkci Vyhledat nevim jak nastavit aby vrátil treba 0 nebo N/A kdyz to nenajde, i kdyz tam ty dane nejsou porad mi to vraci nejakou nesmyslnou hodnotu kterou nevim odkud bere. Setrizene data mam od nejmensiho k nejvetsimu. Uz si s tim nevim rady. Nedalo by se neco vymyslet ve VBA co bi mi overilo jestli ve sloupci a je ta moje hledana hodnota a pokud ano tak to vrati bunku o 3 sloupce v pravo, pokud ne tak to vrati 0 a jde to na dalsi v seznamu. Cely seznam polozek ma 760-820 hodnot jak kdy ale to uz bych si nejak upravil.
Dik za pomoc.
Re: Pomoc s funkcí
Napsal: 28 dub 2008 15:56
od vashut
vlož ukázku - nevim jak se chová csv ale určitě to s ní sesmolim
jestly se chová stejně tak to bude hodně podobný tomu jak jsem to psal v minulim vláknu
Re: Pomoc s funkcí
Napsal: 28 dub 2008 17:54
od cauli
No ukázku tu mas, radek ve kterem mi to dela problem je oznacen zlute, neni to ovsem jen jeden je jich vice ale tenhle na pohled jde nejvice poznat.Predtav si ze mas ve sloupci a cisla 1000-30000 a v dalsich taky neco je, no kdyz das pouzit funkci vyhledat a na jedno cislo ktere ze seznamu smazu a budu ho chtit najit pres funkci vyhledat tak on a vratit hodnotu jine bunky tak to vrati nejblizsi podobnou hodnotu. Zkus se podivat jestli na neco prijdes.
Re: Pomoc s funkcí
Napsal: 28 dub 2008 18:27
od vashut
sakra

mi to s toho udělalo číňanovu pomstu (jakej office to je? já mam 2003) takže kdyžtak budu čarovat
udělám to jako v excelu
takže:
sloupec A má hodnoty od 1000 do 30000 jsou setřízený vzestupně
pokud tam hodnota nebude tak mam vložit tu pod tim nebo nad tim? a z jakýho sloupce?
ještě jedna věc: odkud hledáš? abych věděl jak to mam přispůsobit
pochopil jsem to správně???
PS: na něco určitě přijdu ale ukázka bohužel nefunguje

Re: Pomoc s funkcí
Napsal: 28 dub 2008 19:05
od mike007
Taky mi to vyhodilo čínskou rejži. S tím se nedá nic vykoumat.
Re: Pomoc s funkcí
Napsal: 28 dub 2008 19:38
od vashut
vymyslel jsem beta verzi
pokud by ti nešlo překopat to do tvojeho souboru tak ho sem zkus vložit znovu aby fungoval popřípadě upřesni tvůj případ a nějak to zakomponujem

Re: Pomoc s funkcí
Napsal: 28 dub 2008 23:53
od cauli
Je to v excelu 2007, bylo to puvodne csv a ulozil jsem to xls. Chyba je ta ze proste chcu aby to fungovalo jednoduse mam data kde v souboru je 12 sloupcu a 25000 radku dat. ja mam svojich dat asi jen 800 ktere vyhledavam podle kodu kery je stajny (pokud jeste je v prdeji) jako ve sloupci A. Chcu jen at mi to najde ten kod jako funkce Vyhledat a vrati to taky jako funkce vyhledat data z jineho sloupce pro ten kod, kdyz ho to nenajde tak at to vrati treba N/A. Chyba je tam ze funkce Vyhledat pokud je tech dat hodne a jsou podobne kdyz nenajde rpesne danou hodnotu tak vrati hodnotu te nejblizsi podobne coz ja nechci. Mam v umyslu nejaky kod ve VBA kteremu jedne bunce nastavim zacatak mojich dat a udelam k nemu pocitadlo ze se bude posouvat vzdy o 1 dolu kdyz probehne podminka ze kdyz přiklad P2= - , tak
O2 =0, kdyz je to cokoli jineho (pak uz to muze byt jen cislo), najde tohle cislo ve sloupci A, klidne ho zaktivuje a posune se o 3 do prava - coz je bunka ze ktere potrebuji data zratit k mojemu kodu. No a samozrejme cislovani musi byt stejne pro P i pro O a kdyz to takhle projede tech 800 radku tak to skonci. tot vse je to proste funkce Vyhledat jen ze pokud nenajde presne dane cislo ve sloupci A tak nevrati data podobne hodnoty ale N/A. Uz nevim jak to vice priblizit.
Re: Pomoc s funkcí
Napsal: 29 dub 2008 00:08
od mike007
Já ti popravdě nevím, kde můžeš mít problém. Funkce
SVYHLEDAT musí být schopná vyhledat to, co potřebuješ. Nejlepší by bylo sem vložit příklad toho, kde ti to vrací nesmyslnou hodnotu. Prosím o převedení příkladu do verze pro Office 2003. Kdysi jsem se zajímal o věštění z kávového logru a rozsypaných semínek, ale už si z toho moc nepamatuju

Re: Pomoc s funkcí
Napsal: 29 dub 2008 09:19
od cauli
Tady je ukázka, dal jsem tam jen par dat. i kdyz hledany kod v tabulce neni tak to vraci hodnotu nejblizsiho nizsiho hledaneho vyrazu.
Re: Pomoc s funkcí
Napsal: 29 dub 2008 09:31
od mike007
V příloze.
Je dobré použít funkci SVYHLEDAT ne VYHLEDAT.
Nebude-li hledaná hodnota nalezena v tabulce, vzorec vrací #N/A
Pokud nechceš, aby vzorec vracel při nenalezené hodnotě #N/A, tak použij tento vzorec :
Kód: Vybrat vše
=KDYŽ(JE.NEDEF(SVYHLEDAT(N6;A:C;3;0));"Nenalezeno";SVYHLEDAT(N6;A:C;3;0))
Re: Pomoc s funkcí
Napsal: 29 dub 2008 10:17
od cauli
Ok dik moc.
Re: Pomoc s funkcí
Napsal: 29 dub 2008 16:25
od vashut
aha podle 3. příspěvku jsem myslel, že když nebude nalezeno tak to má vrátit podobnou hodnotu
samozdřejmě, že svyhledat je lepší
ps: mike007 má pravdu (a to i v podpise

)