Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7 8 9   další » ... 122

O.k.

Mohol by si aspoň "zabučať", keď sa ti tu s tým hráme, že?

Asi by som, minimálne na nejakú časť toho riešenia, miesto VBA využil možnosti Power Query. Píšeš, že vo VBA to beží, síce pomaly, ale beží. Tak asi to ešte chvíľu vydržíš a nemusíš strácať čas optimalizáciou kódu. Filtrovanie a triedenie dát PQ zvláda celkom dobre, tak by som sa vybral touto cestou, ale je to môj názor, nebudem Ti ho vnucovať.

V tom vzorci odmaž AND. Buď použi AND a jednotlivé argumenty zapíš priamo do funkcie medzi zátvorky, alebo sa na AND vykašli a jednotlivé podmienky "oddeľ" znamienkom *.
znamienko * vo vzorcoch pri tvorbe podmienok nahradzuje AND a znamienko + nahradzuje OR

Ak som správne pochopil, je možné to zapísať takto:

=IF(AND(NOT(ISNUMBER(SEARCH(".";B5)));
$E$1<10;
ISNUMBER(SEARCH("?~*?";E3));
ISNUMBER(SEARCH("?~*?";E4));
INDEX(Ӎ!A3:K34;MATCH(B4;Ӎ!D3:D34;0);2)<10;
INDEX(Ӎ!A3:K34;MATCH(B5;Ӎ!D3:D34;0);2)>20);
1;
0)

alebo takto:

=NOT(ISNUMBER(SEARCH(".";B5)))
*($E$1<10)
*ISNUMBER(SEARCH("?~*?";E3))
*ISNUMBER(SEARCH("?~*?";E4))
*(INDEX(Ӎ!A3:K34;MATCH(B4;Ӎ!D3:D34;0);2)<10)
*(INDEX(Ӎ!A3:K34;MATCH(B5;Ӎ!D3:D34;0);2)>20)

a ešte pár ďalšími spôsobmi. Ale netvrdím, že som to zadanie pochopil.

Tak som nakoniec vyriesil cez nastavenie vynutenia plneho prepoctu v Properties vo VBA. Nie je to idealne, ale funguje to.
Inak, samozrejme, prepocet bol nastaveny na automaticky. Mal som podozrenie na nejaky doplnok, ale ani spustenie v safe mode problem neriesilo, cize fakt netusim, kde je problem. Ak poznate pricinu, budem rad za navedenie, v opacnom pripade to necham byt. Casom dostanem novy notebook, na nom to snad uz vystrajat psie kusy nebude.

Po Ctrl+Shift+Alt+F9 sa to chyti, ale to je tiez na draka :)

Ahoj, pozorujem to uz nejaku dobu.
Na sluzobnom notebooku mi prestalo fungovat podmienene formatovanie. Subor, v ktorom fungovalo, to zacalo haprovat. Chova sa to tak, ze podmieneny format sa nezmeni po zmene hodnoty v bunke (bunkach), ktoru vyhodnocuje. Musim otvorit dialogove okno pre spravu pravidiel, jednotlive pravidla editovat, pricom editacia spociva v puhom kliknuti na tlacidlo Edit Rule a potvrdeni. Potom sa to chyti, ale takto to fungovat v ziadnom pripade nema. Mate s tym niekto nejaku skusenost?
Opakujem, prestalo to fungovat v sablone, v ktorej som nic nemenil, v minulosti to fungovalo, teraz to blbne. Vyskusam preniest subor na privatny notebook, ale to nie je riesenie, i ked to na sukromnom bude fungovat korektne, potrebujem to rozchodit na sluzobnom.
Uz minuly tyzden som to pozoroval na inom subore, kde som si nastavil jednoduche pravidlo nad excel table, tam to tiez blblo, ale nevenoval som tomu pozornost. Mam za to, ze sa mi nieco pokazilo v instalacii Excelu, ale nez zacnem patrat dalej, nevedel by niekto z hlavy / nestretli ste sa s tym?
Edit: Nedalo mi to, a urobil som test s danym suborom na privatnom notebooku, tam to, podla predpokladu, funguje bez problemov. Cize, mam podozrenie na nejaku chybu v instalacii Excelu na sluzobnej masine.
Aktualizacie spravuje nase IT, takze, samozrejme, obratim sa s problemom i na nich, ale poznate, to, to je na dlhe lakte...

@ Dingo
K mojmu "nefunkcnemu" rieseniu asi tolko. Pisal som, ze dvojite uvodzovky mozno bude nutne nahradit za null.

Ak je v tvojej prilohe ten Postup_dle_All inspirovany tym, co som pisal v prvej odpovedi, tak pri setupe, aky si pouzil, to query ma byt spravne napisane takto:

let
Zdroj = Excel.CurrentWorkbook(){[Name="Tab_zdroj"]}[Content],
#"Změněný typ" = Table.TransformColumnTypes(Zdroj,{{"hodnota", type number}, {"text", type text}, {"datum", type date}}),
Filtr1= Table.SelectRows(#"Změněný typ", each if Filtr_textu(1) = null then true else ([text] = Filtr_textu(1))),
Filtr2= Table.SelectRows(Filtr1, each if Filtr_hodnoty(1) = null then true else ([hodnota] = Filtr_hodnoty(1)))
in
Filtr2

Takto to funguje, aspon myslim..
Lubo tukol kliniec po hlavicke, tvorime to z vody, kedze nemame prilohu, na ktorej sa to da otestovat; predpokladam, ze clovek skusi nahradit "" za null sam, ked sem neda vlastnu prilohu, to, samozrejme, nebola vyhrada k tebe, ale k OP.

@ lubo - diky, to je urcite krajsie napisane

Namiesto obycajneho filtra v tvare cca takomto

= Table.SelectRows(#"NazovTabulkyVktorejFiltrujes", each [StlpecVktoromFiltrujes] = ParameterHodnotaBunky)

musis napisat nieco taketo:

= Table.SelectRows(#"NazovTabulkyVktorejFiltrujes",
each if ParameterHodnotaBunky = ""
then true
else ([StlpecVktoromFiltrujes] = ParameterHodnotaBunky))

dvojite uvodzovky v podmienke (prazdny retazec) mozno budes musiet nahradit za null, ale ta logika zostane rovnaka - filtruje sa v zavislosti na splneni podmienky, ktoru vytvoris pomocou if-then-else

@ Baja
"Je neuvěřitelné, jak můžete přijít na tak složitý vzorec"
Dik za pochvalu, ale toto je skutocne velmi trivialny vzorec.

do bunky B3 na liste priemerna teplota vloz:

=IFNA(INDEX('denní data'!$E$4:$E$32;MATCH(DATE($A3;1;B$2);'denní data'!$D$4:$D$32;0));"")

Rozsahy si uprav podla toho, na ktorom riadku ti koncia zaznamy na liste denni data, tzn. vo vzorci uprav v argumentoch riadok 32 na skutocny

rozkopiruj

pre februar bude druhym argumentom funkcie match hodnota 2, namiesto hodnoty 1

@ Peter
ad "asi preto nikto neponúka komplexné riešenie":
Ja neponukam riesenie preto, ze zadanie je zmatene a nemienim ho lustit. Ako som povedal, pokial sa zadanie nebude zhodovat s prilohou, v prilohe nebudu len potrebne stlpce, ich nazvy sa nebudu zhodovat s popisom v zadani, tak to proste skumat dalej nebudem.

@ marjankaj
Tak, musis sa pochvalit sam, ked Ta nikto iny nepochvali. :)

@ Peter
Ale Index/Match, tak, ako si ho pouzil, najde iba prvy vyskyt. V tych tabulkach su ale duplicity, preto som zmienil Sumif(s). Ale ovechkin je spokojny, Slovensko nad Nemeckom vedie, tak to je hlavne :)


Strana:  1 2 3 4 5 6 7 8 9   další » ... 122

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