Innehåll
Vid första anblicken (särskilt när man läser hjälpen), funktionen INDIREKT (INDIREKT) ser enkelt ut och till och med onödigt. Dess kärna är att förvandla text som ser ut som en länk till en fullvärdig länk. De där. om vi behöver hänvisa till cell A1, då kan vi antingen göra en direktlänk (ange ett likhetstecken i D1, klicka på A1 och tryck på Enter), eller så kan vi använda INDIREKT för samma ändamål:
Observera att funktionsargumentet – en referens till A1 – anges inom citattecken, så att det i själva verket är text här.
"Okej", säger du. "Och vad är fördelen?"
Men döm inte efter det första intrycket – det är vilseledande. Den här funktionen kan hjälpa dig i många situationer.
Exempel 1. Transponera
En klassiker av genren: du måste vrida den vertikala dia
spår till horisontell (transponera). Naturligtvis kan du använda en speciell insats eller funktion ÖVERFÖRING (ÖVERFÖRA) i en matrisformel, men du klarar dig med vår INDIREKT:
Logiken är enkel: för att få adressen till nästa cell limmar vi bokstaven "A" med specialtecknet "&" och kolumnnumret för den aktuella cellen, som funktionen ger oss KOLUMN (KOLUMN).
Det omvända förfarandet görs bättre lite annorlunda. Eftersom vi den här gången måste skapa en länk till cellerna B2, C2, D2, etc., är det bekvämare att använda länkläget R1C1 istället för det klassiska "sjöstriden". I det här läget kommer våra celler endast att skilja sig åt i kolumnnumret: B2=R1C2C2=R1C3D2=R1C4 och så vidare
Det är här det andra valfria funktionsargumentet kommer in. INDIREKT. Om det är lika LIGGANDE (FALSK), då kan du ställa in länkadressen i R1C1-läge. Så vi kan enkelt transponera det horisontella området tillbaka till vertikalt:
Exempel 2. Summa för intervall
Vi har redan analyserat ett sätt att summera ett fönster (intervall) av en given storlek på ett ark med funktionen FÖRFOGANDE (OFFSET). Ett liknande problem kan också lösas med hjälp av INDIREKT. Om vi behöver sammanfatta data endast från en viss intervallperiod, så kan vi limma det från bitar och sedan göra det till en fullfjädrad länk, som vi kan infoga i funktionen SUMMA (BELOPP):
Exempel 3. Lista med smarta tabeller
Ibland behandlar Microsoft Excel inte smarta tabellnamn och kolumner som fullständiga länkar. Så, till exempel, när du försöker skapa en rullgardinslista (tab Data – Datavalidering) baserat på kolumn Partners från smart bord Personer vi får ett felmeddelande:
Om vi "lindar" länken med vår funktion INDIREKT, då accepterar Excel det enkelt och vår rullgardinslista kommer att uppdateras dynamiskt när nya medarbetare läggs till i slutet av den smarta tabellen:
Exempel 4. Okrossbara länkar
Som du vet korrigerar Excel automatiskt referensadresser i formler när du infogar eller tar bort radkolumner på ett ark. I de flesta fall är detta korrekt och bekvämt, men inte alltid. Låt oss säga att vi behöver överföra namnen från personalkatalogen till rapporten:
Om du lägger in vanliga länkar (skriv in =B2 i den första gröna cellen och kopierar ner den), då när du tar bort, till exempel Dasha, får vi #LINK! fel i den gröna cellen som motsvarar henne. (#REF!). Vid användning av funktionen för att skapa länkar INDIREKT det kommer inte att finnas något sådant problem.
Exempel 5: Samla in data från flera ark
Anta att vi har 5 ark med rapporter av samma typ från olika anställda (Mikhail, Elena, Ivan, Sergey, Dmitry):
Låt oss anta att formen, storleken, positionen och sekvensen av varor och månader i alla tabeller är desamma – bara siffrorna skiljer sig åt.
Du kan samla in data från alla blad (summa inte det, utan lägg det under varandra i en "hög") med bara en formel:
Som du kan se är idén densamma: vi limmar länken till den önskade cellen i det givna arket, och INDIREKT gör det till ett "live". För enkelhetens skull lade jag till bokstäverna i kolumnerna (B, C, D) ovanför tabellen och till höger - radnumren som måste tas från varje ark.
Fallgropar
Om du använder INDIREKT (INDIREKT) du måste komma ihåg om dess svagheter:
- Om du länkar till en annan fil (genom att limma filnamnet inom hakparenteser, arknamnet och celladressen) så fungerar det bara medan originalfilen är öppen. Om vi stänger den får vi felet #LINK!
- INDIRECT kan inte referera till ett dynamiskt namngivet område. På statisk – inga problem.
- INDIREKT är en flyktig eller "flyktig" funktion, dvs den räknas om för varje förändring i någon cell i arket, och inte bara påverkande celler, som i normala funktioner. Detta har en dålig effekt på prestandan och det är bättre att inte ryckas med stora INDIREKTA bord.
- Hur man skapar ett dynamiskt område med automatisk storleksanpassning
- Summering över ett intervallfönster på ett ark med OFFSET-funktionen