Sådan bruges Excel INDIRECT-funktionen

Indholdsfortegnelse

Resumé

Excel INDIRECT-funktionen returnerer en gyldig reference fra en given tekststreng. INDIRECT er nyttig, når du vil konvertere en tekstværdi til en gyldig cellereference.

Formål

Opret en reference fra tekst

Returneringsværdi

En gyldig regnearkreference.

Syntaks

= INDIREKTE (ref_text, (a1))

Argumenter

  • ref_text - En reference leveret som tekst.
  • a1 - (valgfrit) En boolsk for at angive A1- eller R1C1-reference. Standard er SAND = A1-stil.

Version

Excel 2003

Brugsanvisninger

INDIREKTE-funktionen returnerer en gyldig reference fra en given tekststreng. INDIRECT er nyttig, når du vil konvertere en tekstværdi til en gyldig cellereference. For eksempel, for at oprette en henvisning til celle A1 fra tekst kan du bruge INDIREKTE sådan:

=INDIRECT("A1") // returns reference to A1

Formålet med INDIRECT kan i første omgang virke forvirrende (dvs. hvorfor bruge tekst, når du bare kan give en ordentlig reference?), Men der er mange situationer, hvor evnen til at oprette en reference fra tekst er nyttig, herunder:

  • En formel, der har brug for et variabelt arknavn
  • En fast reference, der ikke ændres, selv når rækker eller kolonner slettes
  • Oprettelse af numeriske arrays med ROW-funktionen i komplekse formler

Bemærk: INDIRECT er en flygtig funktion og kan forårsage ydeevneproblemer i store eller komplekse regneark.

Variabelt regnearknavn

I eksemplet vist ovenfor er INDIRECT indstillet til at bruge et variabelt arknavn som dette:

=INDIRECT(B6&"!A1") // sheet name in B6 is variable

Formlen i B6, kopieret ned, returnerer værdien i celle A1 i de første 5 ark ved hjælp af de arknavne, der er indtastet i kolonne B. Med andre ord, når et andet arknavn indtastes i kolonne B, returneres et nyt resultat. Med den samme tilgang kan du tillade en bruger at vælge et arknavn med en rulleliste og derefter konstruere en reference til det valgte ark med INDIRECT.

Bemærk: arknavne, der indeholder tegnsætning eller mellemrum, skal være lukket i enkelt anførselstegn ('), som forklaret i dette eksempel. Dette er ikke specifikt for den INDIREKTE funktion; det samme gælder i alle formler.

Fast reference

Referencen oprettet af INDIRECT ændres ikke, selv når celler, rækker eller kolonner indsættes eller slettes. For eksempel vil nedenstående formel altid henvise til de første 100 rækker i kolonne A, selvom rækker i dette interval slettes eller indsættes:

=INDIRECT("A1:A100") // will not change

Generer numerisk array

En mere avanceret brug af INDIRECT er at oprette et numerisk array med ROW-funktionen som denne:

ROW(INDIRECT("1:10")) // create (1;2;3;4;5;6;7;8;9;10)

En brugssag er forklaret i denne formel, der opsummerer de nederste n-værdier i et interval.

Du kan også løbe ind i denne idé i mere komplekse formler, der skal samle et numerisk array "on-the-fly". Et eksempel er denne formel, der er designet til at fjerne numeriske tegn fra en streng.

Bemærkninger

  • Referencer oprettet af INDIRECT evalueres i realtid, og indholdet af referencen vises.
  • Når ref_text er en ekstern reference til en anden projektmappe, skal projektmappen være åben.
  • a1 er valgfri. Når udeladt, er a1 SAND = A1 stilreference.
  • Når a1 er indstillet til FALSK, opretter INDIRECT en reference til R1C1-stil.
  • INDIRECT er en ustabil funktion og kan forårsage ydelsesproblemer.

Lignende videoer

Opret en dynamisk reference til et navngivet område I denne video ser vi på, hvordan man opretter en dynamisk reference til et navngivet område med funktionen INDIRECT. Dette er en måde at skifte områder på farten. Sådan finder du og fremhæver formler I denne video viser vi dig tre måder at finde formler i et regneark, herunder en vanskelig måde at bruge betinget formatering på og en navngivet formel til at fremhæve formler. Opret en dynamisk reference til et regneark Nogle gange vil du gerne henvise til et regneark dynamisk i en formel, så det kan ændres med det samme. I denne video ser vi på, hvordan man opretter en dynamisk reference til et regneark i en formel.

Interessante artikler...