NAAR.KOLOM
TOCOL in Engelstalige Excel
Zet een blok cellen om in één enkele kolom, desgewenst zonder lege cellen en fouten, zodat andere functies met een platte lijst kunnen werken.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Ronde 1 | Ronde 2 | ||
| 2 | 25-1101 | 25-1108 | 25-1101=NAAR.KOLOM(A2:B4)=NAAR.KOLOM(A2:B4) | |
| 3 | 25-1115 | 25-1122 | 25-1108 | |
| 4 | 25-1130 | 25-1137 | 25-1115 | |
| 5 | 25-1122 | |||
| 6 | 25-1130 | |||
| 7 | 25-1137 |
Veeg opzij om alle kolommen te zien
=NAAR.KOLOM(A2:B4)
=NAAR.KOLOM(A2:B4)
Wat NAAR.KOLOM doet en wanneer je het gebruikt
Wat het doet: het zet alle waarden van een blok cellen onder elkaar in één kolom, bijvoorbeeld de getrokken facturen van twee rondes.
Wanneer je de functie gebruikt: als gegevens in een raster staan maar de volgende stap een lijst nodig heeft: waarden tellen of ontdubbelen die over meerdere kolommen verspreid staan, twee rasters cel voor cel vergelijken of een waarde in een blok opzoeken. De lijst loopt over naar beneden. Het vervangt knip-en-plakwerk en de oude constructies met INDEX en REST die elke cel nummerden.
De twee grootste voordelen:
- Eén formule voor elk raster: je hoeft cellen niet te nummeren met INDEX en REST.
- Slaat lege cellen en fouten over: met
negerenlaat je lege cellen, fouten of beide weg terwijl het raster wordt platgeslagen.
Hoe Excel de functie berekent
NAAR.KOLOM loopt het raster als volgt door:
- Excel berekent eerst de eerste parameter, dus een vergelijking als
C2:D6>=G1wordt een raster van WAAR en ONWAAR voordat NAAR.KOLOM het ziet - daarna loopt Excel het raster door in de volgorde die scannen_op_kolom bepaalt: standaard rij voor rij, bij WAAR kolom voor kolom
- elke cel wordt getoetst aan negeren; lege cellen en fouten die worden overgeslagen komen niet in het resultaat
- de overgebleven waarden komen onder elkaar, te beginnen in de formulecel, en de kolom loopt naar beneden over
Staat er al iets in het overloopbereik, dan krijg je #OVERLOPEN!.
Let op: NAAR.KOLOM behoudt standaard lege cellen en maakt er 0 van, wat elke telling opblaast. Gebruik het argument negeren om ze over te slaan.
Denkmodel
Een tapijt uitrollen: het raster wordt één lange strook, rij voor rij, tenzij je Excel opdraagt het kolomgewijs uit te rollen.
NAAR.KOLOM(matrix,[negeren], [scannen_op_kolom])
NAAR.KOLOM(matrix;[negeren]; [scannen_op_kolom])
| Argument | Soort | Betekenis | Standaard |
|---|---|---|---|
matrix | Verplicht | Het bereik of de matrix die je tot één kolom platslaat. | |
negeren | Optioneel | Welke cellen je overslaat: 0 geen, 1 lege, 2 fouten, 3 beide. | 0 |
scannen_op_kolom | Optioneel | ONWAAR leest rij voor rij (standaard), WAAR leest kolom voor kolom. | ONWAAR |
Geeft terug:Eén kolom met elke waarde uit de matrix, in leesvolgorde
Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).
Uitgewerkte voorbeelden
Beginner
De getrokken facturen van twee rondes in één kolom zetten
Bij Veldhuis Installatie BV heb je in twee rondes een steekproef van verkoopfacturen getrokken. De factuurnummers staan in een klein raster, drie per ronde. Voor het werkpapier wil je één lijst met alle nummers onder elkaar, in de volgorde van het raster.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Ronde 1 | Ronde 2 | |||
| 2 | 25-1101 | 25-1108 | 25-1101=NAAR.KOLOM(A2:B4)=NAAR.KOLOM(A2:B4) | ||
| 3 | 25-1115 | 25-1122 | 25-1108 | ||
| 4 | 25-1130 | 25-1137 | 25-1115 | ||
| 5 | 25-1122 | ||||
| 6 | 25-1130 | ||||
| 7 | 25-1137 | ||||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in D2
=NAAR.KOLOM(A2:B4)
=NAAR.KOLOM(A2:B4)
Resultaat: 25-1101 / 25-1108 / 25-1115 / 25-1122 / 25-1130 / 25-113725-1101 / 25-1108 / 25-1115 / 25-1122 / 25-1130 / 25-1137
Stap voor stap
- Het enige argument is
A2:B4: 3 rijen en 2 kolommen, dus 6 cellen. negeren en scannen_op_kolom zijn weggelaten, dus beide krijgen de standaardwaarde: 0 (alles behouden) en ONWAAR (rij voor rij lezen). - Rij 1 van het raster wordt van links naar rechts gelezen:
A2is25-1101, daarnaB2is25-1108. - Daarna komt rij 2:
A3is25-1115,B3is25-1122. Rij 3 sluit de lijst af:A4is25-1130,B4is25-1137. - Geen enkele cel is leeg, dus er wordt niets overgeslagen. Alle 6 nummers komen onder elkaar en de kolom loopt over van
D2totD7. - Verander
B3in25-1199enD5verandert mee, omdat de lijst het raster volgt.
Let op: De nummers komen rij voor rij, niet per ronde. Verwachtte je eerst alle nummers van ronde 1, dan heb je het derde argument WAAR nodig.
Meer over dit voorbeeld: waarom het werkt, 1 variant
Waarom het werkt
NAAR.KOLOM bezoekt een blok altijd in een vaste volgorde, en standaard is dat rij voor rij. Het resultaat is een levende kopie van het raster in de vorm van een kolom, dus er is geen kopiëren en plakken nodig en de lijst raakt nooit verouderd.
Varianten
=NAAR.KOLOM(A2:B4,0, WAAR)
=NAAR.KOLOM(A2:B4;0; WAAR)
Kolom voor kolom: eerst de drie nummers van ronde 1, dan die van ronde 2.
Halfgevorderd
Niet-afgeletterde bankposten opsommen, zonder de lege cellen
In de bankreconciliatie van Veldhuis Installatie BV zet de cliënt de openstaande posten per week en per bankrekening in een overzicht. De meeste weken staat er bij een rekening niets open, dus veel cellen zijn leeg. Je wilt één lijst van de openstaande bedragen, zonder nullen voor de lege cellen, om ze met het bankafschrift te vergelijken.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Betaalrekening | Spaarrekening | Valutarekening | |||
| 2 | €1,250.00€ 1.250,00 | €480.00€ 480,00 | €1,250.00€ 1.250,00=NAAR.KOLOM(A2:C5, 1)=NAAR.KOLOM(A2:C5; 1) | |||
| 3 | €2,100.00€ 2.100,00 | €480.00€ 480,00 | ||||
| 4 | €760.00€ 760,00 | €315.00€ 315,00 | €2,100.00€ 2.100,00 | |||
| 5 | €4,400.00€ 4.400,00 | €760.00€ 760,00 | ||||
| 6 | €315.00€ 315,00 | |||||
| 7 | €4,400.00€ 4.400,00 | |||||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in E2
=NAAR.KOLOM(A2:C5,1)
=NAAR.KOLOM(A2:C5;1)
Resultaat: €1,250.00 / €480.00 / €2,100.00 / €760.00 / €315.00 / €4,400.00€ 1.250,00 / € 480,00 / € 2.100,00 / € 760,00 / € 315,00 / € 4.400,00
Stap voor stap
- matrix is
A2:C5: 4 weken bij 3 rekeningen, 12 cellen. Het tweede argument is 1, dus lege cellen worden overgeslagen. scannen_op_kolom is weggelaten, dus Excel leest rij voor rij. - Week 1:
A2is 1,2501.250,B2is leeg en wordt overgeslagen,C2is 480. Week 2:A3enB3zijn leeg en worden overgeslagen,C3is 2,1002.100. - Week 3:
A4is 760,B4is 315,C4is leeg en wordt overgeslagen. Week 4:A5is leeg en wordt overgeslagen,B5is 4,4004.400,C5is leeg en wordt overgeslagen. - Er blijven 6 bedragen over, die overlopen van
E2totE7: 1,2501.250, 480, 2,1002.100, 760, 315 en 4,4004.400. Samen zijn het 1,2501.250 + 480 + 2,1002.100 + 760 + 315 + 4,4004.400 = 9,3059.305. - Zonder de 1 heeft de lijst 12 rijen: de 6 lege cellen komen terug als 0, en een telling van de lijst zou 12 openstaande posten melden in plaats van 6.
Let op: Een cel met een lege tekst uit een formule ("") is niet leeg, dus negeren 1 laat hem staan. Blijft er toch een leeg ogend gat in de lijst, controleer de cel dan met ISLEEG.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Het argument negeren filtert tijdens het platslaan, dus de lege cellen zijn weg voordat een andere functie de lijst ziet. Een raster is handig voor een mens; een lijst is wat AANTAL, SOM, SORTEREN en UNIEK willen.
Meer om op te letten
- Bedragen van precies 0 zijn niet leeg en blijven in de lijst; alleen de codes 1 en 3 voor negeren verwijderen lege cellen, nooit nullen.
Varianten
=NAAR.KOLOM(A2:C5,3)
=NAAR.KOLOM(A2:C5;3)
Lege cellen en foutwaarden samen overslaan, handig als het raster uit formules komt die #N/B kunnen geven.
Gevorderd
De eerste factuur vanaf de uitvoeringsmaterialiteit in een raster vinden
Voor een betalingstest bij Veldhuis Installatie BV leverde de cliënt twee bij elkaar horende rasters: de factuurnummers en, op dezelfde posities, de bedragen. Je wilt de eerste factuur met een bedrag vanaf de uitvoeringsmaterialiteit in G1, zonder die met het oog te zoeken. De rasters hebben twee kolommen en vijf rijen.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Factuur 1 | Factuur 2 | Bedrag 1 | Bedrag 2 | Uitvoeringsmaterialiteit | €12,000.00€ 12.000,00 | ||
| 2 | 25-2001 | 25-2002 | €4,200.00€ 4.200,00 | €8,900.00€ 8.900,00 | ||||
| 3 | 25-2003 | 25-2004 | €3,100.00€ 3.100,00 | €15,400.00€ 15.400,00 | 25-2004=X.ZOEKEN(WAAR, NAAR.KOLOM(C2:D6>=G1), NAAR.KOLOM(A2:B6), "Geen factuur op of boven de materialiteit")=X.ZOEKEN(WAAR; NAAR.KOLOM(C2:D6>=G1); NAAR.KOLOM(A2:B6); "Geen factuur op of boven de materialiteit") | |||
| 4 | 25-2005 | 25-2006 | €9,750.00€ 9.750,00 | €21,000.00€ 21.000,00 | ||||
| 5 | 25-2007 | 25-2008 | €6,100.00€ 6.100,00 | €12,800.00€ 12.800,00 | ||||
| 6 | 25-2009 | 25-2010 | €18,200.00€ 18.200,00 | €3,900.00€ 3.900,00 | ||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in F3
=X.ZOEKEN(WAAR,NAAR.KOLOM(C2:D6>=G1), NAAR.KOLOM(A2:B6), "Geen factuur op of boven de materialiteit")
=X.ZOEKEN(WAAR;NAAR.KOLOM(C2:D6>=G1); NAAR.KOLOM(A2:B6); "Geen factuur op of boven de materialiteit")
Resultaat: 25-2004
Stap voor stap
Van binnen naar buiten eerst het voorwaardenraster.
C2:D6>=G1vergelijkt elk van de 10 bedragen met 12,00012.000, rij voor rij:- 4,2004.200 ONWAAR, 8,9008.900 ONWAAR
- 3,1003.100 ONWAAR, 15,40015.400 WAAR
- 9,7509.750 ONWAAR, 21,00021.000 WAAR
- 6,1006.100 ONWAAR, 12,80012.800 WAAR
- 18,20018.200 WAAR, 3,9003.900 ONWAAR
- NAAR.KOLOM op dat raster leest rij voor rij: ONWAAR, ONWAAR, ONWAAR, WAAR, ONWAAR, WAAR, ONWAAR, WAAR, WAAR, ONWAAR. De eerste WAAR staat op positie 4.
- NAAR.KOLOM(A2:B6) slaat de factuurnummers in dezelfde volgorde plat: 25-2001, 25-2002, 25-2003, 25-2004, 25-2005, 25-2006, 25-2007, 25-2008, 25-2009, 25-2010. Beide lijsten hebben 10 items, dus positie 4 hoort bij hetzelfde celpaar.
- X.ZOEKEN zoekt in de eerste lijst naar WAAR, vindt dat op positie 4 en geeft daarom het 4e item van de tweede lijst terug:
25-2004, dat isB3met een bedrag van 15,40015.400. - Zet
G1op 30,00030.000: geen bedrag voldoet, de zoekactie vindt geen WAAR enF3toont de tekst uit het vierde argument in plaats van #N/B.
Let op: Leest de ene NAAR.KOLOM per kolom en de andere per rij, dan sluiten de lijsten niet meer aan. Met de bedragen per kolom gelezen en de facturen per rij is positie 5 WAAR en geeft de formule 25-2005, een bestaand maar onjuist factuurnummer, zonder foutmelding.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten
Waarom het werkt
X.ZOEKEN begrijpt alleen lijsten, geen rasters, dus NAAR.KOLOM maakt van het voorwaardenraster en het antwoordraster twee lijsten van gelijke lengte in dezelfde volgorde. Een WAAR op positie n in de voorwaardelijst wijst dan naar de n-de factuur in de antwoordlijst, waardoor je met één formule een tweedimensionale zoekactie hebt.
Meer om op te letten
- X.ZOEKEN geeft alleen de eerste overeenkomst. Vier bedragen halen 12,00012.000; deze formule toont één factuur, niet de andere drie. Gebruik FILTER als je ze allemaal nodig hebt.
Varianten
=X.ZOEKEN(WAAR,NAAR.KOLOM(C2:D6>=G1, 0, WAAR), NAAR.KOLOM(A2:B6, 0, WAAR), "Geen factuur op of boven de materialiteit")
=X.ZOEKEN(WAAR;NAAR.KOLOM(C2:D6>=G1; 0; WAAR); NAAR.KOLOM(A2:B6; 0; WAAR); "Geen factuur op of boven de materialiteit")
Lees beide rasters per kolom: de eerste WAAR is dan C6 (18,20018.200) en het resultaat is 25-2009. Kies dit als het raster per cliënt of per maand in kolommen is geordend.
=FILTER(NAAR.KOLOM(A2:B6),NAAR.KOLOM(C2:D6>=G1))
=FILTER(NAAR.KOLOM(A2:B6);NAAR.KOLOM(C2:D6>=G1))
Alle voldoende facturen in plaats van de eerste: 25-2004, 25-2006, 25-2008 en 25-2009.
Expert
Facturen die in meerdere betaalruns zijn betaald
De betaalbestanden van drie bankruns bij Veldhuis Installatie BV staan naast elkaar, één kolom per run, met verschillende aantallen facturen, dus onderin zijn cellen leeg.
Je toetst op dubbele betalingen: welke factuurnummers komen in de drie runs meer dan eens voor? De beoordelaar wil het resultaat geordend per run en een leesbare formule.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Run 1 | Run 2 | Run 3 | |||
| 2 | F25-3101 | F25-3105 | F25-3106 | F25-3102=LET( betaald, NAAR.KOLOM(A2:C6, 1, WAAR), keren, AANTAL.ALS(A2:C6, betaald), herhaald, FILTER(betaald, keren > 1, "Geen factuur dubbel betaald"), UNIEK(herhaald) )=LET( betaald; NAAR.KOLOM(A2:C6; 1; WAAR); keren; AANTAL.ALS(A2:C6; betaald); herhaald; FILTER(betaald; keren > 1; "Geen factuur dubbel betaald"); UNIEK(herhaald) ) | ||
| 3 | F25-3102 | F25-3102 | F25-3109 | F25-3105 | ||
| 4 | F25-3103 | F25-3107 | F25-3107 | F25-3107 | ||
| 5 | F25-3104 | F25-3105 | ||||
| 6 | F25-3102 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in E2
=LET( betaald,NAAR.KOLOM(A2:C6, 1, WAAR), keren, AANTAL.ALS(A2:C6, betaald), herhaald, FILTER(betaald, keren > 1, "Geen factuur dubbel betaald"), UNIEK(herhaald) )
=LET( betaald;NAAR.KOLOM(A2:C6; 1; WAAR); keren; AANTAL.ALS(A2:C6; betaald); herhaald; FILTER(betaald; keren > 1; "Geen factuur dubbel betaald"); UNIEK(herhaald) )
Resultaat: F25-3102 / F25-3105 / F25-3107F25-3102 / F25-3105 / F25-3107
Stap voor stap
LET bewaart betaald: NAAR.KOLOM leest
A2:C6kolom voor kolom (derde argument WAAR) en slaat lege cellen over (negeren 1). Dat geeft 12 betalingen:- run 1:
F25-3101,F25-3102,F25-3103,F25-3104 - run 2:
F25-3105,F25-3102,F25-3107 - run 3:
F25-3106,F25-3109,F25-3107,F25-3105,F25-3102
- run 1:
- keren telt elk van de 12 items in het oorspronkelijke raster
A2:C6:F25-31011,F25-31023,F25-31031,F25-31041,F25-31052,F25-31023,F25-31072,F25-31061,F25-31091,F25-31072,F25-31052,F25-31023. - herhaald houdt de items waar keren > 1:
F25-3102,F25-3105,F25-3102,F25-3107,F25-3107,F25-3105,F25-3102. Dat zijn 7 items, want elke extra betaling brengt het nummer opnieuw mee. - UNIEK haalt de herhalingen uit herhaald en houdt de eerste verschijning:
F25-3102,F25-3105,F25-3107. Het resultaat loopt over vanE2totE4. - Maak
B3enC6leeg:F25-3102komt dan één keer voor, dus alleenF25-3105enF25-3107blijven over in het resultaat. Haal ook van die twee de tweede vermelding weg en FILTER toont Geen factuur dubbel betaald. - Debuggen doe je door de formule te laten eindigen op een naam in plaats van UNIEK(herhaald): zet betaald of keren als laatste argument en je ziet dat tussenresultaat in de cellen.
Let op: De omgekeerde fout is negeren 3 'voor de zekerheid'. Dat laat ook foutcellen vallen, zoals #N/B door een kapotte koppeling in de export, zodat een betaling die niet kon laden spoorloos uit de toets verdwijnt. Gebruik 1 en bekijk fouten eerst.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
NAAR.KOLOM met negeren 1 geeft één lijst met werkelijke betalingen, en AANTAL.ALS telt elk item in het raster; daarom moet het eerste argument een bereik blijven: AANTAL.ALS accepteert daar geen matrix. Kolomgewijs lezen zet de bevindingen in run-volgorde voor de beoordelaar.
Gebruik dit niet als je moet rapporteren waar elke dubbele staat (run en rij): NAAR.KOLOM gooit de posities weg, dus gebruik dan een hulpkolom naast elke run, of de regel Dubbele waarden in voorwaardelijke opmaak, die de cellen ter plekke markeert. Ook vereist de formule Excel 2024 of Microsoft 365.
Meer om op te letten
- AANTAL.ALS(betaald; betaald) schrijven geeft #WAARDE!, omdat AANTAL.ALS als eerste argument een bereik wil. Tel in
A2:C6en gebruik de platgeslagen lijst als criteria. - Laat je negeren weg, dan blijven 3 lege cellen als 0 staan. Hier doen ze geen kwaad, omdat geen enkele cel gelijk is aan 0, maar een telling van betaald zou 15 melden in plaats van 12.
Varianten
=LET( betaald,NAAR.KOLOM(A2:C6, 1), UNIEK(FILTER(betaald, AANTAL.ALS(A2:C6, betaald) > 1, "Geen factuur dubbel betaald")) )
=LET( betaald;NAAR.KOLOM(A2:C6; 1); UNIEK(FILTER(betaald; AANTAL.ALS(A2:C6; betaald) > 1; "Geen factuur dubbel betaald")) )
Rijgewijs en zonder de extra namen: korter, maar de bevindingen komen als F25-3105, F25-3102, F25-3107, in de volgorde van de rasterrijen.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| De volgorde wijkt af van wat je verwachtte | De lijst heeft een andere volgorde dan je verwacht: de tweede rij komt voor de tweede kolom. | Standaard leest de functie rij voor rij. Zet het derde argument op WAAR om kolom voor kolom te lezen, bijvoorbeeld om de waarden per bankrekening of per maand op te sommen. |
| Lege cellen staan als 0 in de lijst | Lege cellen verschijnen als 0 in de lijst en vergroten een telling. | De standaardinstelling behoudt lege cellen en maakt er 0 van. Gebruik negeren 1 om ze over te slaan, of 3 om ook fouten over te slaan. |
| Een opzoekactie geeft een geloofwaardige, onjuiste waarde | Een opzoekactie over twee NAAR.KOLOM-resultaten geeft een geloofwaardige maar onjuiste waarde. | Beide NAAR.KOLOM-functies moeten dezelfde waarden voor negeren en scannen_op_kolom gebruiken, anders is positie 4 in de ene lijst niet positie 4 in de andere. |
| #OVERLOPEN! terwijl de formule klopt | Het resultaat is #OVERLOPEN! terwijl de formule klopt. | Er staat al iets in de cellen onder de formule. Maak ze leeg, of selecteer ze via het waarschuwingspictogram naast de fout. |
| #NAAM? op de computer van een collega | De werkmap toont #NAAM? op de computer van een collega. | NAAR.KOLOM bestaat alleen in Excel 2024 en Microsoft 365. Oudere versies kennen de functie niet; controleer in welke versie het bestand moet openen. |
Gebruikt in combinaties
- Een geplakte lijst splitsen en opschonen tot één kolomSplits een in één cel geplakte lijst factuurnummers op de komma's, haal de losse spaties weg met SPATIES.WISSEN en zet de stukjes met NAAR.KOLOM onder elkaar, klaar om te vergelijken.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Zoeken op rij en kolom met één X.ZOEKEN en NAAR.KOLOMVind de waarde waar een rijlabel en een kolomkop elkaar kruisen: je maakt van beide voorwaarden één raster met nullen en enen en zet dat met NAAR.KOLOM in één kolom.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)