Příspěvky uživatele


< návrat zpět

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

Nikdy jsem s "pripojenim" nepracoval, takze si nejsem stoprocente jist, zda me reseni je pouzitelne, nicmene v Office 365 uz to defaultne neni. Jedine, co me napada, je pridat to pres Customize ribbon nabidku (nemam cesky excel, takze nevim, jak se to jmenuje v cestine). V priloze je screenshot, predpokladam, ze jde o commands zacinajici "From".

Soubor jsem otevrel, prekopiroval do noveho souboru a ulozil jako xls.

Pokud jde jen o cislo sloupce, tak napr takto:
=SUMPRODUCT((A1:G5=A10)*COLUMN(A1:G1))

Nicmene vzorec predpoklada, ze se ve vyhledavaci tabulce nebudou vyskytovat zadne duplicity (jinak secte poradi vsech sloupcu s vyskytem).

mepexg: PQ je velmi elegantni reseni, mozna bych jenom prehodil poradi kroku - promote headers se mne osvedcilo udelat jeste pred tim, nez expanduji data (a pak se zbavim problemu s filtrovanim chyb). Kod by mohl vypadat takto:

let
Source = Folder.Files("q\"),
#"Filtered Rows" = Table.SelectRows(Source, each [Extension] = ".xlsx"),
#"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows",{"Content", "Name"}),
#"Added Custom" = Table.AddColumn(#"Removed Other Columns", "Custom", each Excel.Workbook([Content])),
#"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Name", "Data", "Item", "Kind", "Hidden"}, {"Name.1", "Data", "Item", "Kind", "Hidden"}),
#"Filtered Rows1" = Table.SelectRows(#"Expanded Custom", each ([Kind] = "Sheet") and ([Name.1] = "Sheet1")),
#"Added Custom1" = Table.AddColumn(#"Filtered Rows1", "Custom", each Table.PromoteHeaders([Data])),
#"Removed Other Columns1" = Table.SelectColumns(#"Added Custom1",{"Name", "Custom"}),
#"Expanded Custom1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Custom", {"29", "Column3", "Column4", "Column5", "Hodnota", "Meno"}, {"29", "Column3", "Column4", "Column5", "Hodnota", "Meno"}),
#"Filtered Rows2" = Table.SelectRows(#"Expanded Custom1", each ([Hodnota] <> "")),
#"Removed Other Columns2" = Table.SelectColumns(#"Filtered Rows2",{"Meno", "Hodnota"})
in
#"Removed Other Columns2"

eLCHa napsal/a:


Osobně taky zatím dávám přednost MSQuery před PowerQuery. Za prvé jsem ještě neměl čas se v PQ hlouběji hrabat (kdyby někdo měl odkaz na nějaké dobré stánky, tak sem s nima) a za druhé mi to při každém zavření (Excel 2010) hodí hlášku "Excel provedl neplatnou operaci..." a taky jsem to ještě neměl čas řešit (nepoužívám, tak to nespěchá).


Jako takove zakladni seznameni muze dobre poslouzit tato stranka:
https://www.excelcampus.com/powerquery/power-query-overview/

Co se konkretnich postupu a ukazek tyce, vyborna je tato video serie:

https://www.youtube.com/watch?v=VeS0fh8xUVA&index=2&list=PLrRPvpgDmw0m3ohSvgwoHvd0KO8QsQdiK

Uz jsem to pochopil :-)

V tom pripade:

=IF(C2>2,SUMPRODUCT(($C$2:$C$13>2)*($B$2:$B$13>B2))+1,"")

V pripade, ze chcete mit u kazde hodnoty jedinecny rank, muzete pouzit prilozenou variantu (sloupec J).

Uplne nerozumim tomu, jak se maji hodnoty radit - napr u jedne z hodnot 3 je uvedeno poradi 1, poradi 2 je u hodnoty 4 a poradi 3 u dalsi hodnoty 3. Dale neni uplne jasne, jak se maji radit duplicity, proto jsem tem samym hodnotam priradil stejny rank (tzn hodnota 3, at uz je tam kolikrat chce, bude mit vzdy rank 1).

pepe74287 napsal/a:

No ja jsem scital pouze sloupec F, nebot je to dle zadani nejjednodussi varianta. Kazdopadne, problem se zda byt v prvnim sloupci, kde se vyskytuje spatne zadane rozpeti, coz ma za nasledek #ref!. Cele je to "zabalene do iferror, takze to neni videt na prvni pohled. Pokud ma prvni sloupec obsahovat cisla od 1 do n, je lepsi pouzit jinou metodu nez ten slozity vzorec. Pak uz scitani funguje bez problemu. Pokud ma obsahovat neco jineho, je potreba to upresnit.

EDIT: Vzorec v prvnim sloupci je:
=IFERROR(IF((IF(AND(MONTH(A$7)=MONTH($B1),YEAR(A$7)=YEAR($B1)),1,IF(($B1)>(A$7),#REF!+1,"")))>A$8,"",(IF(AND(MONTH(A$7)=MONTH($B1),YEAR(A$7)=YEAR($B1)),1,IF(($B1)>(A$7),#REF!+1,"")))),"")

Kdyz pouzijete moznost Evaluate formula pro bunku E1, tak ta ukaze v predposlednim kroku: if(true,"",""), ale v poslednim uz to ukaze datum. Pritom je to ovsem ve skutecnosti "".


Edit2:
Dalsim problemem je bunka A7, jejiz vysledek je srovnavan s hodnotou v A7, cili typicka circular reference.

No ja jsem scital pouze sloupec F, nebot je to dle zadani nejjednodussi varianta. Kazdopadne, problem se zda byt v prvnim sloupci, kde se vyskytuje spatne zadane rozpeti, coz ma za nasledek #ref!. Cele je to "zabalene do iferror, takze to neni videt na prvni pohled. Pokud ma prvni sloupec obsahovat cisla od 1 do n, je lepsi pouzit jinou metodu nez ten slozity vzorec. Pak uz scitani funguje bez problemu. Pokud ma obsahovat neco jineho, je potreba to upresnit.

EDIT: Vzorec v prvnim sloupci je:
=IFERROR(IF((IF(AND(MONTH(A$7)=MONTH($B1),YEAR(A$7)=YEAR($B1)),1,IF(($B1)>(A$7),#REF!+1,"")))>A$8,"",(IF(AND(MONTH(A$7)=MONTH($B1),YEAR(A$7)=YEAR($B1)),1,IF(($B1)>(A$7),#REF!+1,"")))),"")

Kdyz pouzijete moznost Evaluate formula pro bunku E1, tak ta ukaze v predposlednim kroku: if(true,"",""), ale v poslednim uz to ukaze datum. Pritom je to ovsem ve skutecnosti "".

Podle toho jak mate data v prilozenem souboru, tak je to jednoducha funkce sum. Ponekud me Vas dotaz prekvapuje vzhledem k slozitosti vzorce ve sloupci E...

Kod by mohl vypadat nejak takto:


let
SourceParam = Excel.CurrentWorkbook(){[Name="tblParam"]}[Content],
Mesic = SourceParam{0}[Hodnota],
Rok = SourceParam{1}[Hodnota],


Source = Folder.Files("Z:\filtr\"),
#"Added Custom" = Table.AddColumn(Source, "Custom", each Excel.Workbook([Content])),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Custom"}),
#"Expanded Custom" = Table.ExpandTableColumn(#"Removed Other Columns", "Custom", {"Data", "Kind"}, {"Custom.Data", "Custom.Kind"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Custom", each ([Custom.Kind] = "Sheet")),
#"Expanded Custom.Data" = Table.ExpandTableColumn(#"Filtered Rows", "Custom.Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"}, {"Custom.Data.Column1", "Custom.Data.Column2", "Custom.Data.Column3", "Custom.Data.Column4", "Custom.Data.Column5", "Custom.Data.Column6"}),
#"Promoted Headers" = Table.PromoteHeaders(#"Expanded Custom.Data"),
#"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Promoted Headers", {{"bla bla", type text}, {"Vyfakturováno", type text}}, "cs-CZ"),{"bla bla", "Vyfakturováno"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
#"Renamed Columns" = Table.RenameColumns(#"Merged Columns",{{"Merged", "Vyfakturováno"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Vyfakturováno", type date}}),
#"Removed Errors" = Table.RemoveRowsWithErrors(#"Changed Type", {"Vyfakturováno"}),
#"Filtered Rows1" = Table.SelectRows(#"Removed Errors", each Date.Year([Vyfakturováno]) = Rok and Date.Month([Vyfakturováno]) = Mesic),
#"Added Index" = Table.AddIndexColumn(#"Filtered Rows1", "Index", 1, 1),
#"Removed Other Columns1" = Table.SelectColumns(#"Added Index",{"Index", "Číslo", "Název"})
in
#"Removed Other Columns1"

elninoslov: Dokaze, je vsak potreba nacitat nikoliv ze souboru, ale z adresare (from file - from folder). Pocet a nazvy nehraji roli, staci nacist adresar (a pripadne specifikovat, ktere soubory se maji nacist, napr vsechny xlsx a txt a ostatni ignorovat).

Jinak se to da udelat i primo v excelu.

http://www.k2e.com/tech-update/tips/728-tips-adding-a-password-to-make-an-excel-workbook-read-only

Neslouzi k tomuto pristupova prava?


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

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

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

Aktivní diskuse

Formulář na procházení záznamů z tabulky

Jiří497 • 26.8. 8:36

Změna seřazení buněk

Jiří497 • 26.8. 8:30

Změna seřazení buněk

nosekpav • 26.8. 8:23

-

nosekpav • 26.8. 8:21

Formulář na procházení záznamů z tabulky

M2M • 26.8. 7:42

Formulář na procházení záznamů z tabulky

Jiří497 • 26.8. 6:17

Formulář na procházení záznamů z tabulky

M2M • 25.8. 21:55