JEC.
Terugkerende gebruiker
- Lid geworden
- 27 feb 2019
- Berichten
- 4.350
- Office versie
- 365
Handige tip om data van verschillende tabbladen op te halen.
Uiteraard heb je het liefst alles op één tabblad om vanuit daar te filteren, maar de vraag om data juist terug te brengen naar één tabblad, komt vaak voor.
Ik zal gelijk beginnen met het mooiste deel; GET.WORKBOOK(1) --> In het Nederlands: WERKMAP.LEZEN(1)
Zet onderstaande formule in de name manager en noem deze bijvoorbeeld "all_sheets" (werkt alleen daar en niet in je sheet, vergelijkbaar met de EVALUATE functie). GET.WORKBOOK(1) is ook beschikbaar in oudere versies.
Vervolgens kun je tegenwoordig met een Lambda functie de data per tabblad ophalen. Hieronder geef ik bvb ook aan dat ik de data van tabblad 1 niet nodig heb.
Onderstaande formule zou in dit geval ook voldoen maar als je wat sheets in het midden wil negeren, kom je daar niet mee weg.
Dus, voor alle sheets
Voor specifieke sheets; hier kun je in plaats van de DROP functie een FILTER gebruiken om beter te specificeren.
Bestand zit er ook bij, jullie hebben er vast iets aan:thumb:
PS: bestand moet worden opgeslagen als .xlsm om je named range niet te verliezen.
Uiteraard heb je het liefst alles op één tabblad om vanuit daar te filteren, maar de vraag om data juist terug te brengen naar één tabblad, komt vaak voor.
Ik zal gelijk beginnen met het mooiste deel; GET.WORKBOOK(1) --> In het Nederlands: WERKMAP.LEZEN(1)
Zet onderstaande formule in de name manager en noem deze bijvoorbeeld "all_sheets" (werkt alleen daar en niet in je sheet, vergelijkbaar met de EVALUATE functie). GET.WORKBOOK(1) is ook beschikbaar in oudere versies.
Code:
=TOCOL(TEXTAFTER(GET.WORKBOOK(1);"]"))
Vervolgens kun je tegenwoordig met een Lambda functie de data per tabblad ophalen. Hieronder geef ik bvb ook aan dat ik de data van tabblad 1 niet nodig heb.
Onderstaande formule zou in dit geval ook voldoen maar als je wat sheets in het midden wil negeren, kom je daar niet mee weg.
Dus, voor alle sheets
Code:
=TOCOL(VSTACK(Sheet2:Sheet4!A1:A100);1)
Voor specifieke sheets; hier kun je in plaats van de DROP functie een FILTER gebruiken om beter te specificeren.
Code:
=DROP(REDUCE("";DROP(all_sheets;1);LAMBDA(a;b;VSTACK(a;TOCOL(INDIRECT("'"&b&"'!A1:A100");1))));1)
Bestand zit er ook bij, jullie hebben er vast iets aan:thumb:
PS: bestand moet worden opgeslagen als .xlsm om je named range niet te verliezen.