< návrat zpět

MS Excel


Téma: Doplnění dat do prázdných buněk rss

Zaslal/a 27.7.2022 16:49

Ahoj všem, prosím o pomoc, mám data (tzv. kusovník), které bych rád měl seřazeny do sloupců, abych s nimi pak mohl pracovat v kont. tab.
Data jsou rozptýleny a je potřeba je ručně doplnit CTRL+C a pak V + různě přidávat a posouvat celé sloupce, než dostanu databázi. V příloze je soubor, v listu1 jsou data surová a v listu2 je kýžený výsledek..
Děkuji za pomoc.
OB

Příloha: xlsx53053_doplneni_prazdnych_bunek.xlsx (14kB, staženo 14x)
Zaslat odpověď >

#053054
avatar
Tohle je pro powerquery:

Nástřel dotazu:


// dotaz
let
Zdroj = Excel.CurrentWorkbook(){[Name="data"]}[Content],
#"Seskupené řádky" = Table.Group(Zdroj, {"Column1"}, {{"Tab", each _, type table}}, GroupKind.Local,(x,y)=>if x[Column1] = "Material" and y[Column1] = null then 0 else 1),
#"Filtrované řádky" = Table.SelectRows(#"Seskupené řádky", each ([Column1] = "Material")),
konverze = (Tab as table) =>
let
Material = Table.SelectRows(Tab, each ([Column1] = "Material")),
Vlastní1 = Table.RemoveColumns(Material, List.Select(Table.ColumnNames(Material), each List.NonNullCount(Table.Column(Material, _)) = 0)),
#"Odebrané sloupce" = Table.RemoveColumns(Vlastní1,{"Column1", "Column9"}),
#"Leva strana" = Table.RenameColumns(#"Odebrané sloupce",List.Zip({Table.ColumnNames(#"Odebrané sloupce"), List.Transform({1 .. 4}, each "Sl. " & Text.From(_) ) } ) ),
Data = Table.SelectRows(Tab, each ([Column1] = null)),
#"Odebrané prázdné sloupce" = Table.RemoveColumns(Data, List.Select(Table.ColumnNames(Data), each List.NonNullCount(Table.Column(Data, _)) = 0)),
#"Odebrané prázdné řádky" = Table.SelectRows(#"Odebrané prázdné sloupce", each ([Column2] <> null)),
#"Prava strana" = Table.RenameColumns(#"Odebrané prázdné řádky",List.Zip({Table.ColumnNames(#"Odebrané prázdné řádky"), List.Transform({5 .. 10}, each "Sl. " & Text.From(_) ) } ) ),
#"Přidané: Vlastní" = Table.AddColumn(#"Leva strana", "Vlastní", each #"Prava strana"),
#"Rozbalené Vlastní" = Table.ExpandTableColumn(#"Přidané: Vlastní", "Vlastní", Table.ColumnNames(#"Přidané: Vlastní"[Vlastní]{0}))
in
#"Rozbalené Vlastní",

KonverzeTabulky = Table.TransformColumns(#"Filtrované řádky", {"Tab", konverze} ),
#"Rozbalené Tab" = Table.ExpandTableColumn(KonverzeTabulky, "Tab", Table.ColumnNames(KonverzeTabulky[Tab]{0})),
#"Odebrané sloupce" = Table.RemoveColumns(#"Rozbalené Tab",{"Column1"})
in #"Odebrané sloupce"


Poznámky:

Dotaz čte data z oblasti "Data". (Pokud by se četlo z jiného sešitu, lze číst list).

Table.Group vyhodnocuje data lokálně, to umožňuje rozdělit tabulku na oblasti se stejným materiálem.

Funkce pro konverzi je deklarována v dotazu. (Podobné funkce je většinou snažší napřed naklikat pro jeden řádek, pak změnit na funkci.)

Doplňte si vhodná jména sloupců.citovat

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