Hur man använder Excel INDIRECT-funktionen

Innehållsförteckning

Sammanfattning

Excel INDIRECT-funktionen returnerar en giltig referens från en given textsträng. INDIRECT är användbart när du vill konvertera ett textvärde till en giltig cellreferens.

Ändamål

Skapa en referens från text

Returvärde

En giltig referens till kalkylbladet.

Syntax

= INDIREKT (ref_text, (a1))

Argument

  • ref_text - En referens som text.
  • a1 - (valfritt) En boolean för att ange referens i A1- eller R1C1-stil. Standard är SANT = A1-stil.

Version

Excel 2003

Användningsanmärkningar

INDIRECT-funktionen returnerar en giltig referens från en given textsträng. INDIRECT är användbart när du vill konvertera ett textvärde till en giltig cellreferens. För att till exempel skapa en referens till cell A1 från text kan du använda INDIRECT så här:

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

Syftet med INDIRECT kan till en början verka förvirrande (dvs. varför använda text när du bara kan ge en korrekt referens?) Men det finns många situationer där möjligheten att skapa en referens från text är användbar, inklusive:

  • En formel som behöver ett variabelt arksnamn
  • En fast referens som inte ändras även när rader eller kolumner raderas
  • Skapa numeriska matriser med ROW-funktionen i komplexa formler

Obs: INDIRECT är en flyktig funktion och kan orsaka prestandaproblem i stora eller komplexa kalkylblad.

Variabelt kalkylbladets namn

I exemplet som visas ovan är INDIRECT inställt på att använda ett så här variabelt arknamn:

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

Formeln i B6, kopierad ner, returnerar värdet i cell A1 i de första 5 arken med hjälp av de arknamn som anges i kolumn B. Med andra ord, när ett annat arknamn anges i kolumn B returneras ett nytt resultat. Med samma tillvägagångssätt kan du tillåta en användare att välja ett arknamn med en rullgardinslista och sedan skapa en referens till det valda arket med INDIRECT.

Obs: arknamn som innehåller skiljetecken eller mellanslag måste ingå i enstaka citat ('), som förklaras i detta exempel. Detta är inte specifikt för INDIRECT-funktionen; detsamma gäller i alla formler.

Fast referens

Referensen som skapats av INDIRECT ändras inte ens när celler, rader eller kolumner infogas eller tas bort. Till exempel kommer formeln nedan att alltid hänvisa till de första 100 raderna i kolumn A, även om rader i det intervallet raderas eller infogas:

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

Generera numerisk matris

En mer avancerad användning av INDIRECT är att skapa en numerisk matris med ROW-funktionen så här:

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

Ett användningsfall förklaras i denna formel, som summerar de nedre n-värdena i ett intervall.

Du kan också stöta på den här idén i mer komplexa formler som behöver montera en numerisk matris "on-the-fly". Ett exempel är denna formel, utformad för att ta bort numeriska tecken från en sträng.

Anteckningar

  • Referenser som skapats av INDIRECT utvärderas i realtid och referensens innehåll visas.
  • När ref_text är en extern referens till en annan arbetsbok måste arbetsboken vara öppen.
  • a1 är valfritt. När utelämnas är a1 SANT = A1 stilreferens.
  • När a1 är inställt på FALSE, kommer INDIRECT att skapa en referens i R1C1-stil.
  • INDIRECT är en flyktig funktion och kan orsaka prestandaproblem.

Relaterade videoklipp

Skapa en dynamisk referens till ett namnområde I den här videon tittar vi på hur man skapar en dynamisk referens till ett namnområde med funktionen INDIRECT. Detta är ett sätt att byta intervall i farten. Så här hittar du och markerar formler I den här videon visar vi dig tre sätt att hitta formler i ett kalkylblad, inklusive ett knepigt sätt att använda villkorlig formatering och en namngiven formel för att markera formler. Skapa en dynamisk referens till ett kalkylblad Ibland vill du referera till ett kalkylark dynamiskt i en formel så att det kan ändras direkt. I den här videon tittar vi på hur man skapar en dynamisk referens till ett kalkylblad i en formel.

Intressanta artiklar...