Excel-formel: Kopier værdi fra hver nionde række -

Indholdsfortegnelse

Generisk formel

=OFFSET($B$5,(ROW(A1)*n)-1,0)

Resumé

For at kopiere værdier eller generere referencer med et mønster som hver 3. række, hver 7. linje osv. Kan du bruge en formel baseret på OFFSET- og ROW-funktionerne. I det viste eksempel er formlen i D5:

=OFFSET($B$5,(ROW(D1)*3)-1,0)

Hvilket kan kopieres ned i kolonne D til afhentning af nnde værdier fra kolonne B.

Forklaring

I Excel kan du ikke let kopiere formler, der skal springe rækker eller kolonner over efter et bestemt mønster, fordi referencerne i formlen automatisk ændres efter forholdet mellem den oprindelige kildecelle og den nye målcelle. Men med lidt arbejde er det muligt at konstruere formelhenvisninger, der følger specifikke mønstre.

I dette tilfælde bruger vi OFFSET-funktionen, som er designet til at opbygge referencer til andre celler eller celleområder baseret på et givet startpunkt eller oprindelse.

I det viste eksempel er startcellen B5, leveret til OFFSET som referenceargument og fast som en absolut reference, så den ikke ændres, når formlen kopieres:

=OFFSET($B$5

For at beregne den korrekte værdi for rækkeargumentet bruger vi en underformel baseret på ROW-funktionen:

(ROW(D1)*3)-1

Række får den første celle i samme kolonne og returnerer 1. Dette resultat ganges med n, hvilket er 3 i dette eksempel for at få 3.

Da formlen kopieres ned i kolonnen, returneres værdien med ROW med 1, hvilket er det, der skaber det "nte mønster".

Årsagen til, at vi trækker 1 i hvert tilfælde, er, fordi OFFSET-funktionen ikke inkluderer referencecellen, når rækkeargumentet anvendes. Med andre ord returnerer modregning med en række fra A1 A2:

=OFFSET(A1,1,0) // returns A2

Subtraktion 1 tager hensyn til denne adfærd.

Fra 1

Hvis du vil begynde at kopiere i første række, skal du følge hvert n'te mønster, du kan justere formlen sådan:

=OFFSET($B$5,(ROW(A1)-1)*n,0)

Interessante artikler...