• 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.

Opgelost VSTACK

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

popipipo

Meubilair
Lid geworden
21 nov 2006
Berichten
9.065
Besturingssysteem
Win11
Office versie
Office 365
PHP:
=VSTACK('jan 2024:dec 2024'!A2:C2977)

Ik gebruik deze formule voor mijn maandelijkse opbrengsten van mijn zonnepanelen in 1 tabblad te zetten.
kolom A datum
kolom B tijd
kolom C opbrengst in Wh
Dit wil ik in kWh hebben, dus delen door 1000
Kan dit in dezelfde formule of moet ik het eerst aanpassen.
 
Ter inspiratie:
Code:
=LET(x;HOR.STAPELEN(VERT.STAPELEN(Blad1:Blad2!A2:B3000);VERT.STAPELEN(Blad1:Blad2!C2:C3000)/1000);
FILTER(x;INDEX(x;;1)<>0;""))
 
Dit werkt.
Kan iets korter door kolom A en B te combineren

PHP:
....VERT.STAPELEN(Blad1:Blad2!A2:B3000).....

Had zelf ook iets geprobeerd met vert.stapelen icm hor.stapelen en kolom C delen door 1000
Maar niet op deze manier.
 
Zeker.. was ik ook al naar aan het kijken...

Of anders zoiets:
Code:
=LET(x;VERT.STAPELEN(Blad1:Blad2!A2:C3000);d;INDEX(x;;1);p;INDEX(x;;3);y;HOR.STAPELEN(d;INDEX(x;;2);p/1000);FILTER(y;d<>0;""))
 
Begrijp ik de formule goed dat je het filter op <>0 er bij gezet hebt omdat niet alle maanden evenveel dagen hebben?
 
Nee, omdat ik niet zeker wist of je bereik geen lege waarden bevatte. Als je bereik precies klopt kan die laatste term weg en wordt de formule veel korter.
Code:
=LET(x;VERT.STAPELEN(Blad1:Blad2!A2:C3000);HOR.STAPELEN(INDEX(x;;1);INDEX(x;;2);INDEX(x;;3)/1000))
 
Elk kwartier krijg ik een waarde binnen, dat is dus 4*24=96 waarden per dag
Jan: 31*96=2976
Feb: 29*96=2784

Zou je het bereik op 2976 zetten heb je dus lege cellen voor de maanden februari, april, juni, sep, nov

Dus ik heb hem wel degelijk nodig.
 
Zou dat niet met power query mogelijk zijn?
 
Ook nog eentje.
Code:
=LET(x;VERT.STAPELEN(Blad1:Blad2!A2:C3000);y;HOR.STAPELEN(NEMEN(x;;2);NEMEN(x;;-1)/1000);FILTER(y;INDEX(y;;1)<>""))
 
Dit volstaat ook

Code:
=LET(t;VSTACK('jan 2024:dec 2024'!A1:C3000)/{1\1\1000};FILTER(t;TAKE(t;;1)<>0))
 
In power query zou het iets als dit zijn, afhankelijk van het gebruik van tabellen of niet.


PHP:
let
    Source = Table.Combine(Excel.Workbook(File.Contents("C:\Users\xxx\Downloads\Book1.xlsx"), null, true)[Data]),
    delNulls = Table.SelectRows(Source, each ([Column3] <> null)),
    div = Table.TransformColumns(delNulls,{{"Column3", each _/1000, type number}})
in
    div
 
Allemaal hartelijk dank voor de genomen moeite.
Ik gebruik de eerste 'LET' formule die begrijp ik het beste.
 
Probeer deze eens?

Code:
=VSTACK(
  HSTACK('jan 2024:dec 2024'!A2:A2977, 
         'jan 2024:dec 2024'!B2:B2977, 
         'jan 2024:dec 2024'!C2:C2977/1000))

Of deze in combi met IF statement voor lege cellen

Code:
=VSTACK(
  HSTACK('jan 2024:dec 2024'!A2:A2977, 
         'jan 2024:dec 2024'!B2:B2977, 
         IF('jan 2024:dec 2024'!C2:C2977 = 0, "", 'jan 2024:dec 2024'!C2:C2977/1000)))


.
 
Bedankt voor de moeite maar zoals ik al vermelde heb ik al een ander formule volledig geïntegreerd
 
Allemaal hartelijk dank voor de genomen moeite.
Ik gebruik de eerste 'LET' formule die begrijp ik het beste.

Ik dacht, ik houd het bij je oorspronkelijke formule
Ik wist niet dat je de 'LET' formule al volledig geïntegreerd hebt.

Maar mooi dat het opgelost is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan