Excel-formel: Dynamisk uppslagstabell med INDIRECT -

Innehållsförteckning

Generisk formel

=VLOOKUP(A1,INDIRECT("text"),column)

Sammanfattning

För att tillåta en dynamisk uppslagstabell kan du använda funktionen INDIRECT med namngivna intervall inuti VLOOKUP. I exemplet som visas är formeln i G5:

=VLOOKUP(F5,INDIRECT(E5),2,0)

Bakgrund

Syftet med denna formel är att möjliggöra ett enkelt sätt att byta bordsintervall i en uppslagsfunktion. Ett sätt att hantera är att skapa ett namngivet intervall för varje tabell som behövs, se sedan det namngivna intervallet inuti VLOOKUP. Om du bara försöker ge VLOOKUP en tabellmatris i form av text (dvs. "tabell1") kommer formeln att misslyckas. INDIRECT-funktionen behövs för att lösa texten till en giltig referens.

Förklaring

Kärnan är detta en standard VLOOKUP-formel. Den enda skillnaden är användningen av INDIRECT för att returnera en giltig tabellmatris.

I exemplet som visas har två namngivna områden skapats: "tabell1" (B4: C6) och "tabell2" (B9: C11) *.

I G5 plockar INDIRECT upp texten i E5 och löser den till det namngivna intervallet "tabell1", som löser sig till B4: C6, som returneras till VLOOKUP. VLOOKUP utför sökning och returnerar 12 för färgen "blå" i tabell1.

I G6 är processen densamma. Texten i E6 löses till "tabell2", som löses till B9: C11. Med samma sökvärde returnerar VLOOKUP 24.

* Obs: namnområden skapar faktiskt absoluta referenser som $ B $ 9: $ C $ 11, men jag har utelämnat den absoluta referenssyntaxen för att göra beskrivningen lättare att läsa.

Intressanta artiklar...