Excel-formel: Opret matrix med tal -

Generisk formel

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

Resumé

For at oprette en række tal som (1; 2; 3; 4; 5) kan du bruge en formel baseret på ROW- og INDIRECT-funktionerne. Denne teknik bruges oftest i matrixformler, der har brug for et numerisk array til behandling af en slags. I det viste eksempel er formlen i D5:

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

som returnerer en matrix som (1; 2; 3; 4; 5).

Bemærk: når den indtastes i en enkelt celle, viser Excel kun det første element i matrixen. Brug F9 i formellinjen for at se det aktuelle array-resultat. Normalt bruger du denne formel i en større matrixformel, indtastet med kontrol + skift + enter.

Forklaring

Bemærk: I Excel 365 er den nye SEQUENCE-funktion en bedre og lettere måde at oprette en række numre på. Metoden forklaret nedenfor fungerer i tidligere versioner.

Kernen i denne formel er en streng, der repræsenterer rækker. For eksempel, for at oprette en matrix med 10 tal, kan du hårdkode en streng i INDIRECT som denne:

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

INDIRECT-funktionen fortolker denne tekst til at betyde området 1:10 (10 rækker), og ROW-funktionen returnerer række nummeret for hver række i det interval inden i en matrix.

Det viste eksempel bruger en mere generisk version af formlen, der henter start- og slutnumrene fra henholdsvis B5 og C5, så løsningen ser sådan ud:

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

Årsagen til, at INDIRECT bruges i formlen, er at beskytte mod ændringer i regneark. Uden INDIRECT kan indsættelse eller sletning af rækker ændre rækkevidden for f.eks.

=ROW(1:5)

vil skifte til:

=ROW(1:4)

Hvis række 1 slettes. Da INDIRECT fungerer med en reference konstrueret med tekst, påvirkes den ikke af ændringer på regnearket.

Relative rækkenumre i et interval

Hvis du har brug for et array, der består af de relative rækkenumre i et interval, kan du bruge en formel som denne:

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

Se denne side for en fuldstændig forklaring.

Negative værdier

ROW-funktionen håndterer ikke negative tal, så du kan ikke blande negative tal til start og slut . Du kan dog anvende matematiske operationer til det array, der er oprettet af ROW. For eksempel opretter følgende formel dette array: (-5; -4; -3; -2; -1)

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

Tal i omvendt rækkefølge, n til 1

For at oprette en række positive tal i faldende rækkefølge, fra n til 1, kan du bruge en formel som denne:

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

Interessante artikler...