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.
add so, ne.
Spočte se počet pracovních dnů, a pak se použije workday s náhodně vygenerovaným posunem do počtu prac. dnů.
=WORKDAY(DATUM(ROK(DNES());ČÁST(A1;NAJÍT(".";A1)+1;1000)/1;ZLEVA(A1;NAJÍT("-";A1)-1)/1);RANDBETWEEN(0;NETWORKDAYS(DATUM(ROK(DNES());ČÁST(A1;NAJÍT(".";A1)+1;1000)/1;ZLEVA(A1;NAJÍT("-";A1)-1)/1);ČÁST(A1;NAJÍT("-";A1)+1;1000)/1)))
Přepočty se dají omezit např: =když(b1="XXX";<obluda>; a2)
vzorec je v a2 a jsou povoleny iterace.
@lubo cena za 50kg je 500 Kč. 0-99kg = 500 Kč
kolik stojí 50 kg?
Doporučil bych raději v ceníku uvádět spodní mez intervalu.
A nestačí přesunout jméno do stránkového pole a pak v možnoste kont. tabulky vybrat "Zobrazit stránky filtru sestavy"?
To -int(a2) odebere všechny dny.
Tj. (pokud tam máš opravdu jen ten den) stačí a2*24 (+ nastavit číselný formát)
Případně, pokud tam máš den + nějaký další rok, jako třeba 2020, můžeš zkusit =(A2-INT(A2))*24 + den(a2)*24.
(předpokládám, že v buňce je vlastní formát, něco jako "[>=1]d.h:mm:ss;h:mm:ss")
@elninoslov
Vlastnost SpecialCells má "drobnou" chybičku. Pokud je aplikována jen na jednu buňku je dobré tento případ ošetřit samostatně. V listu klidně vybere celý sešit, tady, pokud je "n" jen na prvním místě v seznamu, vybere celý sešit mimo skrytých řádků a smaže ho. Tj. smaže hlavičku i první řádek v seznamu.
Osobně považuji za nejrychlejší, pokud netrvám na použití ClearContents, variaci na téma: Načíst do pole oba sloupce, příslušné pole nahradit prázdným řetězcem a pak celé pole vrátit zpět.
Použij rozšířený filtr. Tam už to je hotové.
U mne to byly nabourané knihovny po instalaci verze excelu. Občas se aktualizovala stará verze (co už nebyla) a to přepsalo nastavení novější verze.
Vyčištění bylo dost obtížné.
Dříve to šlo pomocí PowerView, MS tuto funkci zavedl, potom skryl, teď ji navíc blokuje. Jde ale data natáhnou do PowerBI a tam to namalovat.
Pokud v Excelu. Lze zprovoznit PowerView, data poslat do datového modelu a namalovat graf. Jinak se musí data rozdělit do více řad - funkce, powerquery, kontingenční tabulka + vzorce.
Graf použij bodový.
=VYHLEDAT(1E+307;A3:E3;A3:E3)
Ověření dat funguje jen v některých případech a je dobrou pomůckou pro toho,kdo chce kontrolovat vkládaná data. Neúmyslné obejití kontrol např. kopírováním, je poměrně běžné. Zabezpečení je ale i při použití vba velmi obtížné.
Takže, pokud uživatel nechce úmyslně kontroly obejít, lze částečně tuto chybu eliminovat. Např. bez VBA omezím výběr jiné buňky v listu, ale už nezabráním ctrl-c v jiném sešitu, případě i v jiné aplikaci.
Pokud uživatel chce zadat nepovolená data, tak je zadá, i když možná ne snadno.
Funkce VVyhledat hledá v řádku $BC4:$BL4 hodnotu W$1&"*" == "NAZ PŮVODNÍ*", tj. hodnotu, která začíná textem z horního řádku (v podobných případech je výhodné hledaný text vidět, lépe se to kontroluje). Pokud najde, vráti odpovídající hodnotu z prvního řádku bloku, tj. hledanou hodnotu. Pokud ji nenajde, funkce IFNA vrátí prázdný text. Funkce část přeskočí začátek o délku textu z prvního řádku a přidá zadaný počet hvězdiček.
Pokud by to byl problém, např. některý text by byl zkrácenou verzí jiného, lze hledat W$1&"~**", což bude hledat kromě textu i první hvězdičku.
Mimochodem, občas jsou v prvním řádku i nepříjemné mezery.
Co třeba:
=ČÁST(IFNA(VVYHLEDAT(W$1&"*";$BC4:$BL4;1;0);"");DÉLKA(W$1)+4;100000)
(Za předpokladu, že soubor udrží rozumnou strukturu.)
Malá rada. Vykašli se na to.
To co vymýšlíš, je amatérsky řešená rozptýlená databáze. Excel a podobná makra nemohou nezajistit konzistenci dat a při větším počtu položek už to ani nezkontroluješ.
Pokud to musí být a položek bude více než desítka, je nezbytné definovat master data, která budou v případě rozdílů ta "správná".
K tomu je nezbytné doplnit nějakou logiku kontrol konzistence, ...
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.