< návrat zpět

MS Excel


Téma: oriešok match() rss

Zaslal/a 20.10.2020 19:51

Pozdravuj. Narazil som na jeden oriešok a neviem si dať rady.
Po 15.10.2020 sú nakopírované dátumy z prvotného zdroja. 16.10.2020 sú vložené dáta z iného zdroja, ktorý budem využívať. Funkcia Match() funguje po dátum 16.10.2020 22:00. Skúšal som dáta 16.10.2020 prilepiť ako hodnoty a všetky formáty, ktoré ponúka excel, ale nič nepomáha. Dá sa to vyriešiť pridaním ďalšieho stĺpca a využitie funkcie Text() a Value() resp. cez Mround(), ale využívanie ďalšieho stĺpca nie je možné. Zistilo sa, že keď vstúpim do bunky 16.10.2020 23:00 a dám enter, tak Match() funguje. Nemôžem kontrolovať každý dátum, ktorý prilepím cez makro. Bunka C1 a A6983 sú identické - True. Nerozumiem tejto anomálii a nedáva mi zmysel. Neviem sa z toho pohnúť. Za každú radu ďakujem.
Na hárku2 sú ďalšie dátumy, ktoré by sa mali prilepiť pod A6983.Ak odenterujem A6983, tak sa dostávam opäť iba po 19.10.2020 22:00.

Příloha: xlsx48486_hacik.xlsx (81kB, staženo 28x)
Zaslat odpověď >

Strana:  « předchozí  1 2 3   další »
#048500
avatar
Ak je v dátume piatok, tak kopíruje iný rozsah ako keď piatok nie je. Plus zobrazí ak je dátum väčší ako jeden deň v prípade nezhody. Iba na rýchle vysvetleniecitovat
#048501
Lugr
Oto nejde, já jsem taky jen amatér. Jen mi přijde, že to máte moc překombinované. Kouknu na to.citovat
#048502
avatar
len si nemyslím že by bol problém v tomto. Pretože ako som spomínal, tak dáta cez CTL+V som dával formátovať ako Value a nepomohlo.citovat
#048503
Lugr
Já se v tom malinko ztrácím.

Jen si myslím, že problém je s datumem již u zdroj (např. že je formátován jako text) a když ho překopírujete i s formátem, tak na tom nezáleží, že v cílové buňce máte formát správný, jelikož si ho přemažete.citovat
#048504
Lugr
Proto jsem chtěl zkusit

.PasteSpecial xlPasteValues

to kopíruje jen hodnoty bez formátu.

Ale vy máte v kódu hodně select.

Musí to fungovat jednoduše.

lastrow = (Sheets("EEX_vr_ISOT").Cells(.Rows.Count, "A").End(xlUp).row) + 1

Sheets("Predikcia_DE").Range("A29:B52").Copy
Sheets("EEX_vr_ISOT").Range("A" & lastrow).PasteSpecial xlPasteValues
citovat
#048524
avatar
Používat MATCH, ?LOOKUP na časové údaje není s přesnou shodou není dobrý nápad.

Při generování časů (při použití vzorce je to skoro jisté) se uložený čas liší od zobrazované obvykle o nějaké malé zlomky sekund. Vidět nic není, ale přesná shoda nic nenajde.

Lepší je (u setříděných hodnot) použít přibližnou shodu, kdy k hledaná hodnotě trochu přidáme. Funkce při tom hledají poslední hodnotu která je rovna nebo je menší než hledaná. tj:
MATCH(c1 + 0,000000000001; C:C;1)

to číslo je dobré odladit, při generování nepovedeným vzorcem se chyba může nakumulovat docela dost.citovat
#048525
Lugr
No ty kráso, celý den si nad tím lámu hlavu. 8

Je vidět, že se musím ještě hodně učit.

Dost dobrý lubo. 1citovat
icon #048527
eLCHa
Upravil jsem vzorec takto a našlo mi to.=POZVYHLEDAT(ZAOKR.DOLŮ(C1;ČAS(0;0;1));$A$1:$A$6983;0)=MATCH(FLOOR(C1;TIME(0;0;1));$A$1:$A$6983;0)citovat
#048528
avatar
Ty odchylky se mohou nakumulovat na obě strany a mohou být v hledané položce i v prohledávané tabulce.citovat
icon #048529
eLCHa
@lubo

Rozumím a nezpochybňuji ;)

Tady jsou data kopírována z externího zdroje v hodinách a seřazeny. Asi bych použil podobné řešení jako vy.

Ale jako vždy je více možností ;)citovat

Strana:  « předchozí  1 2 3   další »

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