Home › Excel-functies › INDIRECT
INDIRECT in Excel, met voorbeelden
De functie INDIRECT maakt van tekst een echte celverwijzing. =INDIRECT("B3") geeft wat er in B3 staat. Krachtig wordt het als je die tekst met een formule opbouwt: haal een bladnaam, een rijnummer of een bereiknaam uit een cel, en de formule volgt vanzelf. De functie heet in het Nederlands en Engels hetzelfde.
In deze uitleg
Syntaxis van INDIRECT
=INDIRECT(verw_tekst; [A1])| Argument | Betekenis |
|---|---|
| verw_tekst | Een verwijzing als tekst, zoals "B3", "Blad2!A1" of een benoemd bereik. |
| A1 (optioneel) | WAAR of weggelaten voor gewone A1-verwijzingen; ONWAAR voor R1K1-notatie ("R3K2"). |
Basisvoorbeeld: rijnummer uit een cel
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 10 | Rij | 3 | |
| 2 | 20 | |||
| 3 | 30 | |||
| 4 | 40 | |||
| 5 | 50 |
"A" & D1 wordt de tekst "A3", en INDIRECT geeft de waarde in A3: 30. Zet je 5 in D1, dan wordt de uitkomst 50.
Met dezelfde truc maak je een bereik dat meegroeit met een getal:
=SOM(INDIRECT("A1:A" & D1))Met 3 in D1 telt dit A1:A3 op: 10 + 20 + 30 = 60.
Gegevens ophalen van een blad dat in een cel staat
Stel: je hebt per maand een werkblad (Jan, Feb, Mrt) met het totaal in B10. Zet op een overzichtsblad de bladnamen in kolom A en gebruik:
=INDIRECT("'" & A2 & "'!B10")Vul naar beneden door en elke rij toont het totaal van het blad dat in kolom A staat. De enkele aanhalingstekens rond de bladnaam zijn nodig als een naam spaties bevat, zoals 'Omzet 2026', en kunnen verder geen kwaad.
Afhankelijke keuzelijst
INDIRECT is de standaardmanier om een tweede keuzelijst te maken die afhangt van de eerste: kies "Fruit" en de volgende lijst toont alleen fruit.
- Zet elke lijst in een eigen kolom met een kop: Fruit, Groente.
- Selecteer elke lijst (zonder kop) en geef hem in het Naamvak precies dezelfde naam als de kop:
Fruit,Groente. - Maak in A2 een keuzelijst met als bron
Fruit;Groente. - Maak in B2 een keuzelijst met als bron
=INDIRECT(A2).
Namen van bereiken mogen geen spaties bevatten. Voor "Zuivel producten" noem je het bereik Zuivel_producten en gebruik je =INDIRECT(SUBSTITUEREN(A2; " "; "_")).
Nadelen van INDIRECT
- Hij is vluchtig. INDIRECT rekent opnieuw bij elke wijziging in de werkmap, en dat maakt grote bestanden traag.
- Verwijzingen passen zich niet aan. Omdat de verwijzing tekst is, schuift hij niet mee als je rijen invoegt of een blad hernoemt. "Jan" hernoemen naar "Januari" geeft #VERW!.
- Hij kan geen gesloten werkmappen lezen. Een verwijzing naar een ander bestand werkt alleen zolang dat bestand open is.
Om iets op te zoeken is INDEX/VERGELIJKEN of X.ZOEKEN meestal beter. Gebruik INDIRECT als de naam van het blad of bereik zelf moet wisselen.
Veelgestelde vragen
Waarom geeft INDIRECT #VERW!?
De tekst is geen geldige verwijzing: een typfout in de bladnaam, geen aanhalingstekens rond een naam met spaties, een benoemd bereik dat niet bestaat, of een verwijzing naar een gesloten werkmap.
Kan ik INDIRECT gebruiken met een tabelnaam?
Ja, bijvoorbeeld =SOM(INDIRECT(A2 & "[Bedrag]")) met een tabelnaam in A2.
Wat doet INDIRECT met een vaste verwijzing?
=INDIRECT("A1") wijst altijd naar A1, ook als je rijen erboven invoegt. Zo zet je een verwijzing helemaal vast, verder dan $A$1 doet.
Is er een alternatief voor INDIRECT dat niet vluchtig is?
INDEX is niet vluchtig: =SOM(A1:INDEX(A:A; D1)) geeft hetzelfde meegroeiende bereik als het INDIRECT-voorbeeld.