Pomocou Power nástrojov, by riešenie bolo mnoho krát rýchlejšie, za predpokladu zobrazenia z kontingenčnej tabuľky. Bez príkladu (aj vymyslené údaje aspoň dva zošity zdrojové a predstava výsledku) sa však nedá nič vytvoriť.
Format "hh:mm:ss,00"
=KDYŽ(A(D25="";E25="";G25="";H25="");"";KDYŽ(NEBO(D25="";E25="";G25="";H25="";ZPRAVA(D25;2)>="60";ZPRAVA(E25;2)>="60";ZPRAVA(G25;2)>="60";ZPRAVA(H25;2)>="60");"chyba";KDYŽ((AH25-AG25)+(AJ25-AI25)<=0;"";(AH25-AG25)+(AJ25-AI25))))*
když(je.číslo(a25);a25;1)
Mimochodom aj ja celý život pracujem s počítačmi (technik, programátor a analytik) a viem čo sa dá naprogramovať a čo umožňuje Excel.
Ale k riešeniu. Keď údaje vložíte do listu, stlačíte Ctrl+H a vyplníte a použijete túto funkciu podľa priloženého obrázku.
Na odstránenie textu null sa dá použiť Hľadať a nahradiť Ctrl+H s tým, že do políčka nahradiť nič nezadáte a použijete voľbu všetko. Je to bez programovania.
Ináč nechápem potrebu prenášať údaje z Accessu cez schránku, keď Excel dokáže načítavať priamo z Accessových tabuliek.
A už vôbec nechápem prečo používať Access, keď Excel má PowerQuery a PowerPivot. Ich pomocou bežne spracujem a analyzujem (v Exceli) tabuľky (z SQL) aj so 115 miliónmi riadkami (veľkosť výstupného súboru 750MB) a dokáže načítavať údaje zo všetkých zdrojov dostupných údajov a rôzne ich spracovať (z jeden tabuľky viac a naopak), skombinovať (napr. SQL, Excel, web), prepojiť a podľa požiadaviek vyhodnocovať.
Asi je výsledok text a nie číslo (aj keď tak vypadá). Stačí celý vzorec uzavrieť do funkcie VALUE asi HODNOTA a potom dať bunke formát dátumu. =Hodnota(KDYŽ...)
for each ...
ActiveSheet.pt.PivotCache.Refresh
next
Žiadne radenie by sa dalo spraviť vypočítavaním stĺpcov, v ktorých by bola celá časová hierarchia (vypočítaný rok, mesiac) a potom podľa týchto stĺpcov urobiť postupné zo radenie. Tento spôsob je príliš pracný.
Preto ponúkam riešenie pomocou kontingečnej tabuľky. Stačí dať do riadkov dátum a potom už iba určiť, za aké stupne hierarchie z dátumov robiť zoskupovanie [rok, kvartál, mesiac deň] (na poli dátum stlačiť [ľavý] Alt+Shift+šípka vpravo).
Potom už iba je potrebné do vypočítavanej oblasti vyniesť Nákup, Prodej a Celkem. A na rozbaľovanie a zbaľovanie rokov použiť +/-. Príklad uvádzam v prílohe. Toto riešenie ma ďalej aj tú výhodu, že nie je potrebné nič zoraďovať a hodnoty, za rovnakú veličinu (rok, dátum) kt automaticky spočíta.
Stačí postupne pohľadať kód (zo vstupného súboru) v stĺpcoch kód1, kód2 alebo kód3 a vrátiť muj kód.
íferror(vlookup(vstk, sltp kod1, mujkod),
íferror(vlookup(vstk, sltp kod1, mujkod),
íferror(vlookup(vstk, sltp kod1, mujkod),"-")))
Keď máte tabuľky pod sebou stačí dať vložiť kontingenčnú tabuľku, vyniesť kód a do hodnôt maximálnu cenu.
Riešenie je v prílohe (aktualizácia Kt Alt+f5).
Dobrý deň.
Pokúsil som sa načrtnúť riešenie aj s filtrami a výslednou tabuľkou spolu so zdrojovým adresárom z = disk Q:
Celé riešenie je zbalené pod mojim heslom na adrese:
https://ulozto.sk/!gdvZJmjV5/160721-zip
Office 2016 má v sebe parádnu vec pod názvom PowerQuery. Pomocou nej je možné zlúčiť a spracovať koľko chcete súborov (môže byť bez problému aj 100 rozlíšiteľných názvom) napr. z adresára, za predpokladu zhodnej štruktúry údajov a tiež je možná aj identifikácia ceny tovaru (a jeho ďalších parametrov na základe jedného číselníka) napr. podľa jeho kódu. Výsledkom takéhoto spracovania môže byť jedna tabuľka na liste, ktorú je možné použiť, ako zdroj pre rôzne kontingenčné tabuľky (na rôznych listoch s rôznymi filtrami a rozložením hodnôt a dimenzií).
Prosím skúste dať príklad (číselník a aspoň dva datové súbory) a môžem predviesť riešenie. Na dátumy sa dá uplatniť zlučovanie (napr. rok, kvartál, mesiac a deň). Každý jeden výsledný prvok môže byť filter (slicer), alebo dimenzia podľa potrieb prehľadu.
Pardon, zabudol som použiť substituovaný disk Q:. Príloha je upravená. Po úprave (zmenení vlastnéha adresára, kde sú súbory umiestnené) a spustení diskQ.bat stačí otvoriť Vysledok, byť v tabuľke a aktualizovať údaje Alt+F5. Ak chcete použiť vlastné údaje, stačí do súboru Data ich načítať na prvý list (resp. vložiť ako hodnoty z otvarenia dbf) a uložiť .
Neviem čo myslel eLCHa (pod SQL), ale pomocou PowerQuery (pre 2010 doplnok a v 2016 súčasť) stačí do jedného súboru nadefinovať požadovanú štruktúru a z dbf (zatiaľ Data.xlsx) spraviť dotaz bez cieľa a do načítanej definovanej štruktúry appendnúť údaje z dbf (z tichého dotazu). Tým sa stĺpce sami zoradia. Popis a príklad v prílohe.
Ponúkam riešenie pomocou tabuľky (v tej stačí prepínať filter polroku a sledovať riadok spolu), alebo z nej vytvorená kontingenčná tabuľka (KT), ktorú stačí po zmene údajov (na liste Tabuľka) iba aktualizovať Alt+F5.
Tabuľka má tú výhodu, že stačí na spodok doplniť riadok a automaticky sa zväčší a prenesú sa vzorce a formáty (do ďalšieho riadku).
Formát bunky nevie vykonávať matematické operácie. Potom jediné riešenie by bol ďalší stĺpec (z A->B) so vzorcom.
=IF(A3<10;TEXT(A3;"0,0"" mm""");IF(A3<100;TEXT(A3/10;"0,00"" cm""");TEXT(A3;"#0,00 "" m""")))
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.