Excel-formule: maak een reeks getallen -

Generieke formule

(=ROW(INDIRECT(start&":"&end)))

Samenvatting

Om een ​​reeks getallen te maken, zoals (1; 2; 3; 4; 5), kunt u een formule gebruiken die is gebaseerd op de functies RIJ en INDIRECTE. Deze techniek wordt meestal gebruikt in matrixformules die een numerieke matrix nodig hebben voor een of andere verwerking. In het getoonde voorbeeld is de formule in D5:

(=ROW(INDIRECT(B5&":"&C5)))

die een array retourneert zoals (1; 2; 3; 4; 5).

Opmerking: als Excel in een enkele cel wordt ingevoerd, wordt alleen het eerste item in de array weergegeven. Gebruik F9 in de formulebalk om het werkelijke matrixresultaat te zien. Normaal gesproken gebruikt u deze formule in een grotere matrixformule, ingevoerd met control + shift + enter.

Uitleg

Opmerking: in Excel 365 is de nieuwe functie SEQUENCE een betere en gemakkelijkere manier om een ​​reeks getallen te maken. De hieronder beschreven methode werkt in eerdere versies.

De kern van deze formule is een tekenreeks die rijen vertegenwoordigt. Als u bijvoorbeeld een array met 10 getallen wilt maken, kunt u een string als volgt hard coderen in INDIRECT:

=ROW(INDIRECT("1:10"))

De functie INDIRECT interpreteert deze tekst in het bereik 1:10 (10 rijen) en de functie RIJ retourneert het rijnummer voor elke rij in dat bereik binnen een array.

Het getoonde voorbeeld gebruikt een meer generieke versie van de formule die de begin- en eindnummers van respectievelijk B5 en C5 ophaalt, dus de oplossing ziet er als volgt uit:

=ROW(INDIRECT(B5&":"&C5)) =ROW(INDIRECT(1&":"&5)) =ROW(INDIRECT("1:5")) =ROW(1:5) =(1;2;3;4;5)

De reden dat INDIRECT in de formule wordt gebruikt, is om te waken tegen wijzigingen in het werkblad. Zonder INDIRECT kan het invoegen of verwijderen van rijen de bereikverwijzing wijzigen, bijvoorbeeld:

=ROW(1:5)

zal veranderen in:

=ROW(1:4)

Als rij 1 is verwijderd. Omdat INDIRECT werkt met een verwijzing die is opgebouwd met tekst, wordt dit niet beïnvloed door wijzigingen op het werkblad.

Relatieve rijnummers in een bereik

Als je een array nodig hebt die bestaat uit de relatieve rijnummers van een bereik, kun je een formule als volgt gebruiken:

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

Zie deze pagina voor een volledige uitleg.

Negatieve waarden

De ROW-functie kan geen negatieve getallen verwerken, dus u kunt geen negatieve getallen mengen voor begin en einde . U kunt echter wiskundige bewerkingen toepassen op de array die door ROW is gemaakt. De volgende formule maakt bijvoorbeeld deze matrix: (-5; -4; -3; -2; -1)

=ROW(INDIRECT(1&":"&5))-6

Getallen in omgekeerde volgorde, n tot 1

Om een ​​reeks positieve getallen in aflopende volgorde te maken, van n tot 1, kunt u een formule als volgt gebruiken:

=ABS(ROW(INDIRECT("1:"&n))-(n+1))

Interessante artikelen...