|
Materialet publicerat med tillstånd från Dennis Wallentin.
Erhålla flera värden
Här demonstreras hur vi kan slå upp ett värde och få flera
värden i retur.
Exemplet visas i sin helhet i följande uppställning:

Nedanstående matrisformel matas in samtidigt i cellområdet F2:G2:
-
{=LETARAD(E2;A2:C5;{2;3};0)}
Multipel uppslagsfunktion
Detta tips demonstrerar ett flertal tekniker för att hitta ett
värde utifrån flera uppslagsvärden. Utöver två mer realistiska
lönsingar demonstreras en annorlunda teknik i det tredje exemplet.
Tipset har sitt ursprung i följande uppställning:

I cell E2 används följande formel och den lösning som generellt
är att rekommendera:
I cell F2 används följande matrisformel:
-
{=INDEX(E6:E22;PASSA(A2;OM(B6:B22=B2;OM(C6:C22=C2;OM
(D6:D22=D2;A6:A22)));0))}
I cell G2 används följande "kuriosa" matrisformel:
-
=INDEX(E2:E45;PASSA(A2&"-@-"&B2&"-@-"&C2&"-@-"&D2;
A6:A22&"-@-"&B6:B22&"-@-"&C6:C22&"-@-"&D2:D45;0))
Tabellutdrag
I detta tips visas hur vi kan extrahera en rads data antingen till
en rad eller till en kolumn.
Tipset i sin helhet visas i följande bild:

I cell E2 anges vilken rad i tabellen (A2:D4) som ska visas.
För "Utfall kolumn 1" används följande formel, vilken
kopieras nedåt i raden:
-
=INDEX($A$2:$D$4;$E$2;RAD(1:1))
För "Utfall Kolumn 2" används följande matrisformel,
vilken matas in samtidigt i cellområdet G2:G5:
-
{=TRANSPONERA(INDEX(A2:D4;E2;0))}
För "Utfall rad 1" används följande formel, vilken
kopieras i raden:
-
=INDEX($A$2:$D$4;$E$2;KOLUMN())
För "Utfall rad 2" används följande matrisformel,
vilken matas in samtidigt i cellområdet A9:D9:
Erhålla senaste värdet
Här demonstreras två formeltekniska lösningar när vi vill
erhålla ett objekts senast inmatade värde.
Följande namn används i exemplet:
- "Namn" refererar till B-kolumnen.
- "Tal" refererar till C-kolumnen.
Har vi en sorterad lista och där sortering sker utifrån den
kolumn som håller uppslagsvärdena, såsom bilden nedan visar (Namn):

Kan följande formel användas:
-
=INDEX(Tal;PASSA(E1;Namn))
Har vi däremot en osorterad lista måste formeln anpassas
därefter. Bilden nedan visar ett exempel där:

Följande matrisformel löser problemet:
-
{=INDEX(Tal;MAX(OM(Namn=E1;RAD(Namn)-1)))}
Använda dynamiska tabellområden
I vissa sammanhang vill vi att ett tabellområde både kan
expandera sett till antal rader som till antal kolumner. Här krävs
det att vi skapar ett dynamisk tabellområde vilket sker mha av namn.
I exemplet ska alltid värdet hämtas från den sist skapade
kolumnen i tabellen.
Det första namnet ska referera till hela tabellområdet och i
exemplet används namnet Tabell:
-
=FÖRSKJUTNING(Blad1!$A$1;0;0;ANTALV(Blad1!$A$1:A400);
ANTALV(Blad11!$1:$1))
Det andra namnet ska referera till antal kolumner och i exemplet
används namnet AKolumn:
Följande formeln letar upp det önskade värdet i den dynamiska
tabellen:
-
=LETARAD(A1;Tabell;AKolumn;0)
Noterbart är att formeln för det dynamiska tabellområdet antar
tabellen innehåller lika många poster som finns i A-kolumnen.
|