Excel-formule: verkrijg relatieve kolomnummers binnen bereik -

Generieke formule

(=COLUMN(range)-COLUMN(range.firstcell)+1)

Samenvatting

Om een ​​volledige set relatieve kolomnummers in een bereik te krijgen, kunt u een matrixformule gebruiken op basis van de functie COLUMN.

In het getoonde voorbeeld is de matrixformule in B4: H4:

(=COLUMN(B4:H4)-COLUMN(B4)+1)

Op het werkblad moet dit worden ingevoerd als een matrixformule met meerdere cellen met Control + Shift + Enter

Dit is een robuuste formule die relatieve getallen zal blijven genereren, zelfs wanneer kolommen vóór het bereik worden ingevoegd.

Uitleg

De eerste COLUMN-functie genereert een array van 7 getallen als volgt:

(2,3,4,5,6,7,8)

De tweede COLUMN-functie genereert een array met slechts één item, zoals dit:

(2)

die vervolgens wordt afgetrokken van de eerste array om te resulteren in:

(0,1,2,3,4,5,6)

Ten slotte wordt 1 toegevoegd om te krijgen:

(1,2,3,4,5,6,7)

Met een benoemd bereik

U kunt deze formule aanpassen om te gebruiken met een benoemd bereik. Als u in het bovenstaande voorbeeld bijvoorbeeld een benoemd bereik 'gegevens' hebt gemaakt voor B4: H4, kunt u deze formule gebruiken om kolomnummers te genereren:

(=COLUMN(data)-COLUMN(INDEX(data,1,1))+1)

U zult deze formule tegenkomen in andere matrixformules die gegevens kolom voor kolom moeten verwerken.

Met SEQUENCE

Met de functie VOLGORDE is de formule om relatieve rijkolommen voor een bereik te retourneren eenvoudig:

=SEQUENCE(COLUMNS(range))

De functie COLUMNS biedt het aantal kolommen, dat wordt geretourneerd naar de functie SEQUENCE. SEQUENCE bouwt vervolgens een reeks getallen, beginnend met nummer 1. Dus, volgens het oorspronkelijke voorbeeld hierboven, geeft de onderstaande formule hetzelfde resultaat:

=SEQUENCE(COLUMNS(B4:H4)) // returns (1;2;3;4;5;6;7)

Opmerking: de SEQUENCE-formule is een nieuwe dynamische matrixfunctie die alleen beschikbaar is in Excel 365.

Interessante artikelen...