Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  124 125 126 127 128 129 130 131 132   další » ... 286

Tých komplikácií a vecí ktoré treba ošéfovať je podstatne viac. Mrknite na toto.

Odporúčal by som Vám ale asi obetovať 99 Kč na fakturačný formulár čo je ponúkaný rovno tu na fóre.

Ten list sa volá v zdrojových súboroch vždy rovnako ? Ak áno, tak súbor neotvárajte, to je najpomalšie. Namiesto toho, vložte odkazy pomocou vzorcov na bunky daného súboru s následným prevodom na hodnoty. Je to rýchle.

Ak sa ten list nevolá rovnako, tak je ešte možnosť napr. cez ADO zistiť názov listu, čo bude tiež rýchlejšie ako Open.

Aj tak tam ale vidím riziko, že niekto otvorí omylom úplne iný súbor XLS, ktorý nebude mať s požadovanými dátami nič spoločné. Chcelo by to ešte nejakú kontrolu validity súboru.

Príklad. A teraz som zvedavý, ako to implementujete do toho neúplného súboru čo ste dal ako prílohu. Potom treba zmeniť CodeName všetkých listov, a odvolávať sa v kóde práve na tento CodeName, aby sa mohli premenovať aj názvy listov podľa jazyku. Takto, ako to máte, že sa neustále odvolávate na názvy listov, to je zle. Napr. ako som urobil list Preklad (CodeName je wsPreklad). Ostatný kód je tiež potrebné upraviť, ale bez listov ? Mnohé by som si iba tipoval, ako to tam asi môžete mať (listy Odberatel a Komponenty, rozsahy comboboxov) ...

Ja to tu mám pre Vás od včera hotové, ale vôbec to podľa mňa nieje vhodné pre tento Váš prehľad. Neviem, koľko tam máte riadkov dát, ale takéto množstvo takto náročných maticových vzorcov je záhul. Navyše je to takmer nepochopiteľné a neupraviteľné riešenie. Pochybujem, že sa v tom niekto vyzná. Možno by bolo lepšie to prehodnotiť a usporiadať data inak, bez zlúčených buniek, a možno by potom bola prehľadnejšia KT, či Smart Filter na ListObject-e (s pomocnými stĺpcami). Lebo pri tomto maticovom "riešení" je problém, ak to bude na viac ako 1 str (čo asi bude, keď tam máte takú položku).
Problém, ktorý spôsobuje komplikovanosť vzorcov je ten, že musíte najskôr získať podmienený jedinečný zoznam problémov, a ten spočítavať zase na základe podmienok, a následne podľa početnosti, umiestniť do výsledku podľa podmienok (rok, mesiac, oddelenie).
Nemám na viac čas...

Do H12 dajte toto, a potiahnite vzorec po H14:
=IF(COUNTIF($B$12:$B$35;B5)>0;B5;"")
=KDYŽ(COUNTIF($B$12:$B$35;B5)>0;B5;"")

Ako inak, nastáva tam mnoho problémov. Môže to byť prázdna bunka, vzorec, maticový vzorec, Boolean, dátum, čas, text, ...)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bunka As Range, H
Const POSUN_DES_MIEST = 2 '+X vľavo, -X vpravo, 0 nič

Application.ScreenUpdating = False
Application.EnableEvents = False

On Error Resume Next
For Each Bunka In Target.Cells 'Kontroluj všetky zmenené bunky
With Bunka
H = .Value 'Čiastočné zrýchlenie - kontrola hodnoty je rýchlejšia ako kontrola bunky

Select Case True
Case IsEmpty(H) 'je prázdna - nič
Case .HasFormula 'je vzorec (aj maticový) - nič
Case VarType(H) = vbBoolean 'je boolean - nič
Case IsDate(.Text) 'je čas - nič (nefunguje ak je stĺpec úzky natoľko, že sa zobrazia # mriežky, vtedy to považuje za číslo a čiarku posunie)
Case IsNumeric(H)
.Value = H / (10 ^ POSUN_DES_MIEST) 'je číslo (vynechá dátum) - posuň čiarku
End Select
End With
Next Bunka

If Err.Number <> 0 Then MsgBox "Počas úpravy desatinnej čiatky došlo k chybe." & vbNewLine & "Niektoré úpravy nemusia byť správne.", vbCritical, "Chyba"

Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Tak to mi hlava neberie, akým kľúčom sa rozhoduje o tom, čo bude v tých bunkách.
1. Vždy sú pre daný dátum 4 riadky ?
2. Vždy sú v D:D rovnako sa opakujúce rovnaké hodnoty, teda "ABAB" ?
3. V stĺpci N:N sú 4 bunky pre každý deň. Načo sú potom vo výsledku 4 dvojice (tie zlúčené orámované bunky) ? To by muselo byť pre 1 deň 8 riadkov.
4. Podľa prílohy vychádzam z kľúča, že :
-1. dvojica výsledku= 1. riadok dňa v N + 3. riadok dňa v N
-2. dvojica výsledku= 2. riadok dňa v N + 4. riadok dňa v N
Aký kľúč rozlúskne 10-ty týždeň 04.03.2019 ?
5. Prečo sú medzi výsledkovými "skupinami riadkov" nerovnomerné medzery (2,3,4 riadky) ?

-Rozsah riadkov v K je rovnaký vo všetkých listoch ? Ak áno, na ktorom riadku končia dáta?
-Od ktorého riadku začínajú dáta?
-Všetky dáta sú inak formátované? Teda treba kopírovať aj formát? Alebo je výsledková tabuľka predformátovaná, a stačí vložiť iba údaje? Pýtam sa preto, či treba používať Copy+Paste alebo pole dát, ktoré je rýchlejšie.
...

Alebo aj 2 iné príklady.

Za predpokladu, že sú tie hodnoty pre dané číslo práve 3, a za predpokladu, že je to tak, ako to máte v prílohe, teda, že je v stĺpci A:A to číslo iba pri prvej hodnote, a ďalšie 2 hodnoty pod tým nemajú to číslo. Ak je to inak, napr. tých hodnôt v B:B je neurčité množstvo, alebo má každá hodnota k číslu 1 iné umiestnenie a zároveň má pri sebe aj ten identifikátor 1, a pod., treba to urobiť inak, každopádne treba dať v tom prípade presnejší popis.

Ctrl+C - v novom zošite pravý klik na prvú ľavú bunku - Prilepiť špeciálne - Ponechať šírky zdroja. Skopíruje to hodnoty, formáty, šírky, vzorce, výplne, podmienené formátovanie, orámovanie, ...

Office 2019 (predpokladám, že aj 2016), ak dám Údaje - Z webu - ako zdrojovú adresu zadám
http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.jsp
OK - vyberiem strednú tabuľku "Platnost pro XYZ" - Upraviť - nabehne PowerQuery - vpravo mám Nastavenia dotazu - Vlastnosti - Názov - tam prepíšem aby ma nemýlilo to "Platnost pro 22 02 2019 Pořadí: 38" na "Kurz" - Zavrieť a načítať.
Vytvorí sa Tabuľka "Kurz", ktorá podľa mňa nieje napojená na určený dátum, ale na aktuálny kurz, lebo v kóde dotazu nieje špecifikovaný žiaden konkrétny dátum:
let
Zdroj = Web.Page(Web.Contents("http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.jsp")),
Data1 = Zdroj{1}[Data],
#"Zmenený typ" = Table.TransformColumnTypes(Data1,{{"země", type text}, {"měna", type text}, {"množství", Int64.Type}, {"kód", type text}, {"kurz", type number}})
in
#"Zmenený typ"

Iba aktualizujete Tabuľku "Kurz".

Cez INDEX+MATCH/POZVYHLEDAT alebo VLOOKUP/SVYHLEDAT si nájdete požadovaný kurz vzorcom. Prípadne si z PQ dotazu zmažte stĺpce, ktoré nepotrebujete, alebo vyfiltrujte iba jedinú položku, ktorú hľadáte.

EDIT: Pridal som nejaký ten príklad.

Príklad generovania do voliteľných multioblastí.

Funguje ? O tom pochybujem. V prvom zadaní je *0,75, v druhom /0,75.
Ak by sa jednalo vždy o násobenie (a nie v treťom prípade o delenie), tak je možností kvantum, napr.:
=K1*D9*IF(B9="B";0,5;IF(B9="O";1;IF(B9="K";0,75;0)))
=K1*D9*KDYŽ(B9="B";0,5;KDYŽ(B9="O";1;KDYŽ(B9="K";0,75;0)))

ak by bolo násobkov väčšie množstvo, tak ďalej napr.:
=IFERROR(K1*D9*INDEX({0,5;1;0,75};MATCH(B9;{"B";"O";"K"};0));"")
=IFERROR(K1*D9*INDEX({0,5;1;0,75};POZVYHLEDAT(B9;{"B";"O";"K"};0));"")

=IFERROR(K1*D9*CHOOSE(MATCH(B9;{"B";"O";"K"};0);0,5;1;0,75);"")
=IFERROR(K1*D9*ZVOLIT(POZVYHLEDAT(B9;{"B";"O";"K"};0);0,5;1;0,75);"")

=IFERROR(K1*D9*INDEX({0,5;1;0,75};SEARCH(B9;"BOK"));"")
=IFERROR(K1*D9*INDEX({0,5;1;0,75};HLEDAT(B9;"BOK"));"")

Alebo prípadne, ako sa to bežne robí, je prevodná tabuľka hodnôt (v tomto prípade násobičov).

V každom prípade si ošetrite cez Overenie dát, možnosť zadať iba povolené hodnoty do B9.

Ten 3. požadovaný výsledok, máte nesprávny :)


Strana:  1 ... « předchozí  124 125 126 127 128 129 130 131 132   další » ... 286

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse