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

Celbereik in formule bij slepen op laten lopen met meer van één regel

Status
Niet open voor verdere reacties.

Tootall

Gebruiker
Lid geworden
17 mrt 2019
Berichten
7
Van een formule die het gemiddelde van een celbereik moet geven wil ik het celbereik steeds met 1536 regels laten oplopen wanneer ik deze formule kopieer door middel van slepen.
Alle data (getallen) staan in kolom B, meer dan 220000 regels diep. Het eerste celbereik is (B2:B1537), het tweede (B1538:B3073), enz. De verzameling gemiddelden moeten bovenaan bij elkaar in het worksheet staan, niet verspreid over meer dan 220000 regels.
Bij 'gewoon' slepen van de formule maakt het celbereik en stap van één regel, niet 1536 regels. Is dat laatste wel te realiseren?
Ik hoop dat iemand hier een goede oplossing voor weet.
 
zonder voorbeeld is het niet exact te zeggen maar zo zou het kunnen:

PHP:
=SOM(INDIRECT("B"&(RIJ()*1536)-1536+2&":B"&(RIJ()*1536+1)))

beginnend op rij 1
 

Bijlagen

  • Tootall.xlsx
    8,7 KB · Weergaven: 12
Andere optie die ik graag gebruik voor dit soort problemen is met formule verschuiving.

Even aangehaakt op het bestandje van SjonR, dan heb je beide oplossingen in een testfile..
Ik gebruik bij rij() functie graag de verwijzing naar RIJ(A1) omdat je daarmee de formule weer loskoppelt van de feitelijke rij waarop je hem plaatst. het rijnummer is alleen maar bedoeld om het de juiste vermenigvuldiging te krijgen.

PHP:
=SOM(VERSCHUIVING($B$2;(RIJ(A1)-1)*1536;0;1536;1))
 

Bijlagen

  • Copy of Tootall.xlsx
    35,2 KB · Weergaven: 11
We zochten een gemiddelde toch?
Code:
=GEMIDDELDE(VERSCHUIVING($B$2;(RIJ(A1)-1)*1536;;1536))
Jammer dat er geen voorbeeldbestandje bij zit, misschien waren er nog andere slimme oplossingen mogelijk.
 
ja ik wilde ff kijken of iedereen wel zat op te letten :d :p

haha, ik wilde voor mijn test eerst even met som werken en daarna aanpassen maar dat ben ik dus vergeten.. :)
 
Ik zou een hulpkolom en een draaitabel gebruiken. Zal sneller werken bij 220k rijen dan de volatiele functies INDERECT() en OFFSET(). Voor de oplossingen maakt het overigens niet uit of het om blokken van 1536 rijen of bv 3 rijen gaat. Het principe blijft hetzelfde.

Zie tab 'Draaitabel'
 

Bijlagen

  • Copy of Tootall (1).xlsx
    110 KB · Weergaven: 12
Alhoewel ik geen liefhebber ben van gehele kolommen een niet volatile formule.
Code:
=GEMIDDELDE(INDEX(B:B;(RIJ(A1)-1)*1536+2):INDEX(B:B;RIJ(A1)*1536+1))
 
Laatst bewerkt:
Allen, super bedankt voor jullie hulp! Het probleem is opgelost en de oplossingsrichting heb ik ook kunnen gebruiken voor het vinden van max-waarden, min-waarden en het aantal nul-waarden in de oplopende celbereiken.

Met vriendelijke groet,
Kees
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan