Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  141 142 143 144 145 146 147 148 149   další » ... 298

Prvý riadok píšem vždy SK vzorec, druhý CZ vzorec (SK má rovnaké názvy funkcií ako EN, ale EN má oddeľovače parametrov "," a v SK/CZ je to ";").

Tak pridajte do SUMPRODUCT/SOUČIN.SKALÁRNÍ ešte jednu podmienku:
=SUMPRODUCT((Tabulka1[[Model]:[Model]]=$G3)*(MONTH(Tabulka1[[Datum prodeje]:[Datum prodeje]])=COLUMN(A$1))*(Tabulka1[[Datum prodeje]:[Datum prodeje]]<>0))
=SOUČIN.SKALÁRNÍ((Tabulka1[[Model]:[Model]]=$G3)*(MĚSÍC(Tabulka1[[Datum prodeje]:[Datum prodeje]])=SLOUPEC(A$1))*(Tabulka1[[Datum prodeje]:[Datum prodeje]]<>0))

Inak hodnoty z KT sa v tomto prípade dajú získať aj cez =GETPIVOTDATA("Model";$M$3;"Model";"AA";"mesiace";1)
=ZÍSKATKONTDATA("Model";$M$3;"Model";"AA";"mesiace";1)

(v CZ to bude asi "měsíce")

Ale žiaľ, keď zmažem nejaký dátum zo zdroja a dám Refresh KT, tak ju rozmrdá. Nesmie tam byť prázdny dátum, a funguje OK. Neviem či to tak robí len u mňa (E2019 verzia 1808 zostava 10730.20102, W10 x64 Pro SK verzia 1809 zostava 17763.195), overovať sa mi to nechce.

Do H3 a natiahnuť:
=SUMPRODUCT((Tabulka1[[Model]:[Model]]=$G3)*(MONTH(Tabulka1[[Datum prodeje]:[Datum prodeje]])=COLUMN(A$1)))
=SOUČIN.SKALÁRNÍ((Tabulka1[[Model]:[Model]]=$G3)*(MĚSÍC(Tabulka1[[Datum prodeje]:[Datum prodeje]])=SLOUPEC(A$1)))

Alebo KT.

Ale to sa asi nedá použiť na zatvorený súbor. Ak je súbor otvorený, poznáme meno listu a adresu bunky, tak to funguje takto:
txt = ExecuteExcel4Macro("GET.NOTE(""[pok2.xlsm]Hárok1!R2C2"")")

Keďže sa súbor nesmie otvoriť, môže sa rozzipovať ? Ak áno, tak:
-skopírovať súbor do tempu, premenovať na *.zip, rozbaliť (všetko vo VBA samozrejme)
-ak súbor obsahuje komentáre, tak v podzložke "xl" budú súbory "comments1.xml", "comments2.xml",...
-z nich sa dá vyčítať autor, bunka, text a formát textu
-v podzložke xl\worksheets\_rels\ je v každom sheetXY.xml ... uvedený názov "commentsXY.xml" ktorý mu patrí. V listoch v ktorých niesú komenty, tento odkaz nieje.
-všetko parsovať buď klasicky cez text alebo cez Nodes v Microsoft.XMLDOM.
-na záver by sa extrahovaná zložka aj kópia súboru mázli.

No veď vravím, že som to moc netestoval :) Zabudol som otočiť pole :( Vymenil som prílohu aj kód v prvom príspevku.

Ale otestujte si to, príliš pozornosti som tomu nevenoval 7
Sub Aktualizuj()
Dim colData As New Collection, D As Long, R As Long, arrZdroj(), arrData(), Pocet As Long

With wsData
D = .Cells(Rows.Count, 5).End(xlUp).Row - 3
If D = 1 Then Exit Sub
ReDim arrData(1 To D, 1 To 1)
If D = 1 Then arrData(1, 1) = .Cells(4, 5).Value Else arrData = .Cells(4, 5).Resize(D).Value
End With

On Error Resume Next
For R = 1 To D
colData.Add arrData(R, 1), CStr(arrData(R, 1))
Next R
On Error GoTo 0

With wsZdroj
R = .Cells(Rows.Count, 1).End(xlUp).Row - 1
If R = 1 Then Exit Sub
ReDim arrZdroj(1 To R, 1 To 1)
If R = 1 Then arrZdroj(1, 1) = .Cells(2, 1).Value Else arrZdroj = .Cells(2, 1).Resize(R).Value
End With

Erase arrData

On Error Resume Next
For R = 1 To R
colData.Add arrZdroj(R, 1), CStr(arrZdroj(R, 1))
If Err.Number <> 0 Then
Err.Clear
Else
Pocet = Pocet + 1
ReDim Preserve arrData(1 To 1, 1 To Pocet)
arrData(1, Pocet) = arrZdroj(R, 1)
End If
Next R
On Error GoTo 0

If Pocet > 0 Then wsData.Cells(D + 4, 5).Resize(Pocet).Value = Application.Transpose(arrData)
End Sub

Pretože "R" je v českom Exceli vyhradený formátovací znak pre rok (v SK/EN je to "Y"). Veď to dajte takto:
="VYR"&TEXT(B1;"###")
="VYR"&HODNOTA.NA.TEXT(B1;"###")

alebo
="VYR"&B1
alebo
="VYR"&TEXT(B1;"000")
="VYR"&HODNOTA.NA.TEXT(B1;"000")

záleží na tom, čo je v B1 a čo má byť presne výsledkom.

=IFERROR(VLOOKUP(LEFT(A2;1);List2!$E$1:$F$3;2;FALSE);"")
=IFERROR(SVYHLEDAT(ZLEVA(A2;1);List2!$E$1:$F$3;2;NEPRAVDA);"")

To je doplnok "Analytické nástroje". Čo všetko obsahuje sa mi nechce hľadať. Vypnite ho v nastaveniach, a uvidíte, či Vám bude niečo pri práci chýbať.

Tu máte ešte prípadne aj obojstrannú verziu. Teda listy si označenú oblasť odovzdávajú navzájom.

A dal ste tam aj Modul s globálnou premennou sBunka ?

No tak to Vám Smart Filter (Rýchly filter) ani objekt Tabuľka nepôjde.
Vám teda ide vlastne o čo?
- Potrebujete iba zo zdrojových dát nájsť 1 hodnotu za splnenia niekoľkých kritérií ? To spravíme maticovým vzorcom.
- Alebo potrebujete po zadaní nejakých kritérií niekam do buniek, niekde vedľa vypísať všetky riadky zdrojovej tabuľky, ktoré vyhovujú ? To robte Rozšíreným filtrom s vhodne umiestnenými parametrami (to sa robí manuálne).
- A čo tak použiť KT ? Veď tá sa dá zobraziť takmer rovnako ako zdroj (nie vždy), a môžete použiť jej filtre.

Priložte prílohu s príkladom.

No Rýchlym filtrom...

Nemôžete mu vkladať oblasť, ale už redukované pole:
=MODE(IF(SUBTOTAL(3;OFFSET(ref. stĺp;ROW(ref. stĺp)-2;;1))=1;stĺp hodnôt))
=MODE(KDYŽ(SUBTOTAL(3;POSUN(ref. stĺp;ŘÁDEK(ref. stĺp)-2;;1))=1;stĺp hodnôt))

Takzvaný "Definovaný názov":
Karta Vzorce - Správca názvov - Nové (napísať názov) - Odkaz na (napísať vzorec alebo oblasť)
V určitých prípadoch sa dá použiť aj dynamicky meniaci sa rozsah. Napr ak v názve POCTY zmeníte vzorec na
=OFFSET(Spolu!$B$3;;;COUNTA(Spolu!$B$3:$B$500))
=POSUN(Spolu!$B$3;;;POČET2(Spolu!$B$3:$B$500))

tak keď pripíšete nový údaj, tabuľky ho do seba zahrnú.
Ale slová "v určitých prípadoch" znamenajú napr.:
-musí sa jednať o súvislú oblasť bez prázdnych riadkov, inak funkcia COUNTA/POČET2 nebude vracať požadované číslo
-pod zdrojovou tabuľkou nesmú byť žiadne iné dáta
-výsledkové tabuľky musia byť dostatočne dimenzované na predpokladaný možný počet výsledkov
-rozumne veľká zdrojová oblasť - teraz je B3:B500. Určite nedávať celý stĺpec (milión riadkov).
...

No neviem, mňa napadá len takéto zložitejšie riešenie (nesedí nám spolu zaokrúhľovanie) :
=IF(B2<>"";B2;C1+(MIN($B3:$B$366)-MAX($B$1:$B2))/(MATCH(MIN($B3:$B$366);$B$1:$B$366;0)-MATCH(MAX($B$1:$B2);$B$1:$B2;0)))

=KDYŽ(B2<>"";B2;C1+(MIN($B3:$B$366)-MAX($B$1:$B2))/(POZVYHLEDAT(MIN($B3:$B$366);$B$1:$B$366;0)-POZVYHLEDAT(MAX($B$1:$B2);$B$1:$B2;0)))


Strana:  1 ... « předchozí  141 142 143 144 145 146 147 148 149   další » ... 298

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