Excel-formel: dynamisk referens för kalkylblad -

Innehållsförteckning

Generisk formel

=INDIRECT(sheet_name&"!A1")

Sammanfattning

För att skapa en formel med ett dynamiskt arknamn kan du använda funktionen INDIRECT. I exemplet som visas är formeln i C6:

=INDIRECT(B6&"!A1")

Obs! Poängen med INDIRECT här är att bygga en formel där bladnamnet är en dynamisk variabel. Du kan till exempel ändra ett arknamn (kanske med en rullgardinsmeny) och dra in information från olika kalkylblad.

Förklaring

INDIRECT-funktionen försöker utvärdera text som en kalkylarkreferens. Detta gör det möjligt att bygga formler som sammanställer en referens som text med hjälp av sammankoppling och använder den resulterande texten som en giltig referens.

I det här exemplet har vi arknamn i kolumn B, så vi ansluter arknamnet till cellreferensen A1 med hjälp av sammankoppling:

=INDIRECT(B6&"!A1")

Efter sammanfogning har vi:

=INDIRECT("Sheet1!A1")

INDIRECT känner igen detta som en giltig referens till cell A1 i Sheet1 och returnerar värdet i A1, 100. I cell C7 utvärderas formeln så här:

=INDIRECT(B7&"!A1") =INDIRECT("Sheet2!A1") =Sheet2!A1 =200

Och så vidare, för varje formel i kolumn C.

Hantering av mellanslag och skiljetecken i arknamn

Om arknamn innehåller mellanslag eller skiljetecken måste du justera formeln så att arknamnet slås in i enskilda citat (') så här:

=INDIRECT("'"&sheet_name&"'!A1")

där bladnamn är en referens som innehåller bladnamnet. För exemplet på denna sida skulle formeln vara:

=INDIRECT("'"&B6&"'!A1")

Observera att detta krav inte är specifikt för funktionen INDIRECT. Varje formel som hänvisar till ett arknamn med mellanslag eller skiljetecken måste bifoga bladets namn i enstaka citat.

Intressanta artiklar...