Relative Regneark Referanser

December 9  by Eliza

Anta at du har en arbeidsbok med tre regneark, Ark1, Ark2 og Sheet3. I kolonne A1 av regneark Sheet2 du har formelen = A1 Ark1!. Når du kopierer denne formelen fra Ark2 til celle A1 av Sheet3, formelen fortsatt refererer Ark1. Hvordan kan det være, skjønt? Hvorfor ikke Excel justere ark referanse, som den gjør cellereferanser?

Som navngitte områder, Excel behandler regnearknavn som absolutt. Hver regnearkobjekt er uavhengig av alle andre regneark i arbeidsboken. Når du limer inn en formel som inneholder et ark referanse, er at plate referansen uendret i det som er limt inn.

Det er et par ting du kan gjøre. Det ene er å bare endre formelen referansen etter at den er limt inn, slik at den refererer til riktig ark. Hvis du har mange av dem til å endre, så kan du velge alle formlene i målet regneark (F5 | Spesial | formler) og deretter bruke Finn og erstatt for å erstatte den opprinnelige regnearket navn (Ark1) med riktig regnearket navn (Ark2) .

Hvis refererer behov er ikke komplisert, så kan du bruke en makro tilnærming. For eksempel, hvis du vil ha en formel i en bestemt celle for å referere til en celle på arket forrige til inneværende ark, så kan du gjøre det ved makro ganske enkelt. Vurdere følgende makro:

Funksjon PrevSheet (Rceii Som Range)
Application.Volatile
Dim i As Integer
i = rCell.Cells (1) .Parent.Index
PrevSheet = Sheets (i - 1) .Range (rCell.Address)
End Function

Makroen ser på det gjeldende regnearket og deretter finner ut hvilke regneark er før det. Det henvises deretter gjort for at arket. Når du har opprettet den PrevSheet makro, her er en måte funksjonen kan brukes i en celle:

= PrevSheet (A1)

Dette returnerer verdien i celle A1 fra forrige regnearket. Hvis du har Ark1, Ark2, og Sheet3, og du bruker denne formelen på Sheet3, så det returnerer verdien av A1 Ark2!. Hvis den forrige ark er det første arket i arbeidsboken eller det er ikke et regneark, og deretter funksjonen returnerer en #VERDI feil.

Hvis du senere kopierer denne formelen til et annet ark (si til Sheet 5), så det trekker opp verdien i forhold til den nye plasseringen, noe som betyr at det trekker opp verdien fra A1 Sheet4!.

Du kan også inkludere et ark navn og funksjonen vil fungere helt fint:

= PrevSheet (A5 Sheet3!)

Denne versjonen vil alltid returnere A5 Ark2! Siden Ark2 er forrige ark med Sheet3.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3088) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Relative Regneark referanser.