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 textReturvä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 2003Anvä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.