< návrat zpět

MS Excel


Téma: Úprava SVYHLEDAT rss

Zaslal/a 31.1.2016 21:03

Zdravím,

poprosil bych o radu:

mám databázi (cca 300 000 řádků). V jednom sloupci jsou řekněme jména. Problém je, že ty jména jsou často doplněna o další znaky. Lze například s funkcí SVYHLEDAT vypsat jména správně, pokud vím, která se tam mají vyskytovat? Pracuji v excelu 2010.

Děkuji

Příloha: png29750_excel.png (15kB, staženo 17x)
29750_excel.png
Zaslat odpověď >

Strana:  « předchozí  1 2
#029768
avatar
Stejný problém mne zaskočil, když jsem posílal do Long hodnotu 256*256. Excel je vůl a tu aritmetickou operaci s čísly Integer chce vyhodnotit také jako Integer, a to dřív, než výsledek pošle do Long. Protože to nedokáže, hlásí Overflow. Musel jsem násobit CLng(256)*256, pak jsem teprve uspěl.citovat
icon #029769
eLCHa
@elninoslov

To je celé. Nič viac. Hodí to Overflow... Musel sa nejak záhadne poškodiť u mňa Excel, to predsa nemôže byť logicky vysvetliteľné...

Ne - tak to funguje vždycky a všem ;))
To je problém toho, že VB není striktní jazyk a kompilátor někdy sám rozhoduje, co udělá. Tady jsou obě čísla typu Integer, takže předpokládá, že výsledek bude taky Integer. A ejhle. Je to stejné, jako když někdo napíšeCells(1) = 1místoCells(1).Value = 1V 99% to bude fungovat správně. Ale v tom jednom to hodí chybu a nejste schopni přijít na to jakou.

Je třeba si to prostě pamatovat a někdy třeba i zbytečně raději používat konverzní funkce - prostě vyhnout se tomu, že rozhoduje za vás.citovat
#029770
avatar

eLCHa napsal/a:

@vovka
Ne, že bych nevěřil, že to u sebe nedokážete ošéfovat. Počítám, že máte na mysli - při startu souboru nahrát - pří zavření odstranit.

Ne tak úplně. Přikládám proceduru, která vloží do seznamu pro automatické opravy (v podstatě natrvalo) takové záměny, které umožňují zapisovat horní a dolní indexy jako reálné znaky Unicode do textu. Je tam i obrácená procedura, která příslušných 20 znaků zase z automatických oprav vyřadí.
Procedury jsem napsal, protože vložit / vyřadit 20 záměn je dost pracná záležitost. Když ale o tom teď uvažuji, s pomocí událostních procedur lze podobně konstruované procedury spouštět jak pro Open sešitu, tak pro aktivaci listu nebo pro vybranou oblast buněk. To jsem zatím nedělal, ale proč ne?citovat
#029771
avatar
Koukám, že jsem přílohu nepřiložil. Takže s omluvou posílám přílohu na zvláštním talířku 5
Příloha: zip29771_indexyvtextu.zip (19kB, staženo 16x)
citovat
#029772
elninoslov
@ ...Long... :Určite na to nabudúce tiež zabudnem :)
V predošlom príspevku som teda opravil obe moje chyby.

Ale myslím, že ste upozornili na tak veľa problémov s takouto opravou mien, že sa s tým naozaj neoplatí paprať. Lebo výsledok nemôže byť vždy správny. A kto bude kontrolovať či je 300 000 mien opravených správne ? ...citovat
#029773
avatar
Otázka, kterou klade elninoslov, kdo bude kontrolovat správnost oprav 300 tisíc jmen, představuje sama o sobě problém. Podle mne se to musí rozložit do více kroků. Prvním z nich by podle mne měl být seznam unikátů, extrahovaný z těch 300 tisíc. U takto získaných unikátů by mělo dojít nejspíš k optickému vyhodnocení správnosti jmen (např. postupem, který jsem popsal). Umím si představit, že by tato kontrola proběhla paralelně na dvou místech a redukované seznamy by se následně (tentokrát automaticky) porovnaly, aby vydaly seznam položek, které nebyly nalezeny v obou seznamech současně. Opět by se opticky vyhodnotilo, co se má opravit a co přijmout. Tak by bylo možné postupovat tak dlouho, až bychom získali verifikovaný kompletní výsledek.
Možná existuje kompaktnější řešení, ale i tenhle hybridní postup je realizovatelný řádově v hodinách (nejhůře v desítkách hodin) času.citovat
#029774
avatar
Myslím, že je jednoduchšie vyhľadať nesprávne meno v pôvodnom zozname ako hľadať nesprávne meno v automaticky upravenom. Ako uviedol vovka vypísať jedinečné mená do zoznamu.
Ak automaticky upraví napríklad Stanislas Wawrinka na Stanislav Wawrinka, tak chybu môže hľadať ako ihlu v kope sena.citovat
icon #029775
eLCHa
Hlavně nemá cenu vytvářet obecné řešení. Toto je specifická úloha, kterou nelze řešit bez plné databáze.

Obecně ale - dá se to udělat manuálně (vzorce + filtr + CTRL+ENTER) v řádu hodin - je tam sice 300k záznamů, ale nepočítám, že tam bude tolik chyb. On ten Petdr - pokud se bavíme o české databázi - bude z dvaceti případů 19x Petr. A s tím už se dá začít...citovat

Strana:  « předchozí  1 2

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje