• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

gegevens uit diverse bladen samenvoegen en bij elkaar optellen

Status
Niet open voor verdere reacties.

Erik Daams

Gebruiker
Lid geworden
25 jan 2024
Berichten
15
Goedemorgen,

ik ben op zoek naar een manier om gegevens uit verschillende werkbladen in een totaaloverzicht weer te geven.
het gaat om de calculatie van een metselbedrijf waar de hoeveelheid stenen per blok en gevelzijde moet worden gespecificeerd

Als voorbeeld heb ik een project gemaakt met 4 verschillende blokken (Blok A t/m D)
op de 3 invulbladen heb ik verschillende woningtypes met de daarbij behorende gevelzijdes ingevuld.

op het blad Totaaloverzicht wil ik graag te zien krijgen:
  • welke bloknamen zijn er ingevuld
  • welke gevelzijdes zijn er ingevuld (in combinatie met het betreffende bloknaam)
  • de totaal aantal stenen die bij de gevelzijde is ingevuld
 

Bijlagen

De aantallen voor de volgende gevels kloppen niet:
Blok A linker zijgevel en rechter zijgevel
Blok C achtergevel
Heeft dat nog een reden?
Gaan de invoerbladen nooit verder dan kolom L?
 
De aantallen voor de volgende gevels kloppen niet:
Blok A linker zijgevel en rechter zijgevel
Blok C achtergevel
Heeft dat nog een reden?
Gaan de invoerbladen nooit verder dan kolom L?

ik ben hem even doorgelopen en de telling klopt inderdaad niet, dit is één van de redenen dat ik dit wil veranderen.omdat dit nu handmatig moet is de kans op fouten groter.

het meegestuurde bestand is een voorbeeld maar in het bestand waar ik het wil gaan gebruiken hebben de invoerbladen 16 kolommen (van F tot U) en dat blijven er ten alle tijden 16.

ik gebruik in werkelijkheid ook 13 invulbladen ipv 3
 

Bijlagen

Dan mis je een reference naar de Microsoft Scrtipting Runtime library. Op MACOS is die inderdaad niet aanwezig.
Zonder VBA lijkt het mij niet mogelijk.
 
Bijgaand een versie zonder dictionary.

@jverkerk
Kun je er met power query voor zorgen dat nieuw toegevoegde werkbladen ook worden meegenomen?
 

Bijlagen

@AHulpje,
Als hij er een tabblad of een tabel aan toe voegt en er een bereik van maakt kan hij dat zelf doen maar is mij niet bekend dat het geautomatiseerd kan worden. Misschien met een PQ specialist.
 
Deze in een blank Query: (nieuwe werkbladen worden ook opgepakt)

Code:
let
    Source =   List.Select(Excel.CurrentWorkbook()[Content], (x)=> try x[Column1]{0} = "Bloknaam" otherwise false),
    fx = (tbl) =>  not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(tbl), {"", null})),
    trf =  List.Transform(Source,each Table.PromoteHeaders( Table.Transpose(Table.SelectRows(_, each fx(_)) ))),
    comb = Table.AddColumn(Table.Combine(trf), "Totaal", each [aantal gevels] * [hoeveelheid stenen per gevel]),
    result = Table.Group(comb, {"Bloknaam", "gevelnaam"}, {{"Totaal", each List.Sum([Totaal])}})
in
    result
 
Stuk makkelijker @JEC. , wou dat ik het kon.
Je moet nog wel de nieuwe data weer even een naam geven.
 
Zo zonder named ranges

PHP:
let
    Source = Excel.Workbook(File.Contents("C:\Users\xxxx\Downloads\diverse bladen samenvoegen.xlsx")),
    data = Table.SelectRows(Source, each Text.StartsWith([Name], "invoer"))[Data],
    fx = (tbl) =>  not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(tbl), {"", null})),
    trf =  List.Transform(data,each Table.PromoteHeaders( Table.Transpose(Table.SelectRows(_, each fx(_)) ))),
    comb = Table.AddColumn(Table.Combine(trf), "Totaal", each [aantal gevels] * [hoeveelheid stenen per gevel]),
    result = Table.Group(comb, {"Bloknaam", "gevelnaam"}, {{"Totaal", each List.Sum([Totaal])}})
in
    result
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan