Hoe vindt u het eerste of laatste positieve of negatieve getal in Excel?
Wanneer u werkt met een kolom getallen die zowel positieve als negatieve waarden bevat, moet u vaak snel het eerste of laatste positieve of negatieve getal in het bereik lokaliseren. Dit is bijzonder waardevol voor data-analyse, trenddetectie of het identificeren van specifieke ingangspunten in grote datasets. Handmatige inspectie is bij grootschalige gegevens inefficiënt en foutgevoelig. Gelukkig biedt Excel diverse slimme methoden om deze taak te stroomlijnen, zodat u de exacte waarden die u nodig hebt eenvoudig kunt ophalen via formules of automatisering. Hieronder vindt u meerdere oplossingen, afgestemd op verschillende scenario’s – inclusief geavanceerde benaderingen die perfect zijn voor herhaalde of grootschalige bewerkingen.
Vind het eerste positieve / negatieve getal met een matrixformule
Vind het laatste positieve / negatieve getal met een matrixformule
VBA-macro om het eerste / laatste positieve / negatieve getal te vinden
Vind het eerste positieve / negatieve getal met een matrixformule
Om het eerste positieve of negatieve getal uit een reeks waarden op te halen, kunt u gebruikmaken van Excel-matrixformules. Deze methode is ideaal voor gebruikers die snel een oplossing zoeken voor een beperkt bereik en al vertrouwd zijn met formules—vooral in omgevingen waar extra invoegtoepassingen of macro’s niet zijn toegestaan. De matrixformule wordt automatisch bijgewerkt zodra uw brongegevens wijzigen, waardoor deze perfect geschikt is voor dynamische lijsten. Zo implementeert u dit:
1. Selecteer een lege cel en voer de volgende matrixformule in om het eerste positieve getal op te halen:
=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0)) Hierbij verwijst A2:A18 naar de gegevenslijst die u wilt doorzoeken. Deze formule zoekt de eerste cel in het bereik met een waarde groter dan 0 en geeft vervolgens de inhoud van die cel terug. Zie de volgende schermafbeelding:

2. Druk, nadat u de formule hebt getypt, tegelijkertijd op Ctrl + Shift + Enter in plaats van alleen op Enter. Zo wordt de matrixformule correct uitgevoerd en krijgt u het eerste positieve getal uit uw lijst, zoals in het onderstaande voorbeeld:

Tip:Gebruik in plaats daarvan deze formule om het eerste negatieve getal op te halen (onthoud om na het typen op)Ctrl + Shift + Enterte drukken):
=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0)) In beide formules kunt u de voorwaarde aanpassen ()>0 voor positieve getallen, <0 voor negatieve getallen) om het gewenste getaltype te selecteren. Houd er rekening mee dat matrixformules geen verwijzingen naar lege cellen ondersteunen, dus zorg ervoor dat uw gegevensbereik geen lege cellen bevat voor consistente resultaten. Als alle getallen positief of negatief zijn, kan de formule een foutmelding geven; overweeg dan de functie IFERROR toe te voegen om foutmeldingen te onderdrukken en een aangepast bericht weer te geven.
Opmerking: In recente versies van Excel (Office 365 en Excel 2021 en nieuwer) hoeft u mogelijk niet langer Ctrl + Shift + Enter te gebruiken; het indrukken van alleen Enter kan voldoende zijn dankzij de ondersteuning voor dynamische matrices.
Vind het laatste positieve / negatieve getal met een matrixformule
Als uw doel is om de laatste positieve of negatieve waarde in een kolom te identificeren, kunt u een alternatieve matrixformule toepassen. Deze aanpak is ideaal om eindtrends snel te analyseren of het meest recente datapunt van een specifiek type te lokaliseren. Let op: deze methode reageert dynamisch op gegevensupdates, wat vooral waardevol is wanneer u regelmatig nieuwe getallen aan de lijst toevoegt.
1. Selecteer een lege cel naast uw gegevenskolom en voer deze matrixformule in om het laatste positieve getal te vinden:
=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)) Deze formule werkt door het gedrag van VERT.ZOEKEN te benutten, dat bij een extreem groot getal de laatste numerieke overeenkomst retourneert. Hierbij filtert ALS($A$2:$A$18 >0; $A$2:$A$18) alleen de positieve getallen, waarna VERT.ZOEKEN de laatste instantie teruggeeft. Zie dit hieronder geïllustreerd:

2. Bevestig de formule door op Ctrl + Shift + Enter te drukken (tenzij uw Excel-versie dynamische matrices ondersteunt). Het resultaat toont de laatste positieve waarde in het beperkte bereik, zoals hieronder wordt gedemonstreerd:

Gebruik in plaats daarvan de volgende matrixformule om het laatste negatieve getal op te halen, ook metCtrl + Shift + Enter ::
=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 <0, $A$2:$A$18)) Als er geen positieve of negatieve waarde wordt gevonden, retourneert de formule een fout ()#N/B). Om dergelijke gevallen netjes af te handelen, plaatst u de formule in ALS.FOUT. Bijvoorbeeld:
=IFERROR(LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)), "No match found") Het is belangrijk om Samengevoegd of gecombineerde tekst/getalnotaties in uw bereik te vermijden, omdat deze de berekeningsresultaten van de formule kunnen verstoren. Controleer altijd de integriteit van uw gegevens voordat u deze methoden gebruikt voor optimale nauwkeurigheid.
VBA-macro om het eerste / laatste positieve / negatieve getal te vinden
Als u regelmatig het eerste of laatste positieve of negatieve getal moet opsporen in meerdere bereiken of zeer grote datasets, bespaart het automatiseren van deze taak met een VBA-macro aanzienlijk tijd en vermindert het handmatige fouten. Met deze oplossing selecteert u eenvoudig een bereik om te doorzoeken en haalt direct de gewenste waarde op — ideaal voor batchverwerking of repetitieve analysetaken. De VBA-aanpak is vooral krachtig in scenario’s met complexe criteria of aangepaste workflows, mits u over basiskennis beschikt van de Ontwikkelaarshulpmiddelen in Excel.
1. Klik op Ontwikkelaars > Visual Basic om het venster Microsoft Visual Basic for Applications te openen. Klik vervolgens in de VBA-editor op Invoegen > Module en kopieer de volgende code naar de nieuwe module:
Sub FindFirstOrLastPosNegNumber()
Dim rng As Range
Dim cell As Range
Dim result As Variant
Dim firstPos As Variant, firstNeg As Variant
Dim lastPos As Variant, lastNeg As Variant
Dim selType As String
On Error Resume Next
Set rng = Application.InputBox("Select the data range", "KutoolsforExcel", Selection.Address, Type:=8)
If rng Is Nothing Then Exit Sub
selType = Application.InputBox("Type 'FirstPos' for first positive, 'FirstNeg' for first negative, 'LastPos' for last positive, or 'LastNeg' for last negative:", "KutoolsforExcel", "FirstPos", Type:=2)
If selType = "" Then Exit Sub
firstPos = Empty
firstNeg = Empty
lastPos = Empty
lastNeg = Empty
' Find first positive and first negative
For Each cell In rng
If IsNumeric(cell.Value) Then
If firstPos = Empty And cell.Value > 0 Then
firstPos = cell.Value
End If
If firstNeg = Empty And cell.Value < 0 Then
firstNeg = cell.Value
End If
If cell.Value > 0 Then
lastPos = cell.Value
End If
If cell.Value < 0 Then
lastNeg = cell.Value
End If
End If
Next cell
Select Case UCase(selType)
Case "FIRSTPOS"
result = firstPos
Case "FIRSTNEG"
result = firstNeg
Case "LASTPOS"
result = lastPos
Case "LASTNEG"
result = lastNeg
Case Else
result = "Invalid input"
End Select
If IsEmpty(result) Then
MsgBox "No matching value found in the selected range.", vbInformation, "KutoolsforExcel"
Else
MsgBox "Result: " & result, vbInformation, "KutoolsforExcel"
End If
End Sub 2. Druk op F5(of klik op de knop)
Uitvoeren) om de macro uit te voeren en volg deze stappen:
- Er verschijnt een dialoogvenster waarin u uw getallenbereik kunt selecteren, bijvoorbeeld A2:A18.
- Voer vervolgens uw zoektype in: typ FirstPos voor het eerste positieve getal, FirstNeg voor het eerste negatieve getal, LastPos voor het laatste positieve getal of LastNeg voor het laatste negatieve getal (niet hoofdlettergevoelig).
- Nadat u uw keuze hebt ingevoerd en bevestigd, verschijnt het resultaat in een berichtvenster.
Tips:
- Deze macro verwerkt elk aaneengesloten getallenbereik dat de gebruiker selecteert, en biedt zo flexibiliteit in de lay-out van gegevens.
- Als het opgegeven type niet overeenkomt met een getal binnen het bereik, ontvangt u een melding in plaats van een foutmelding.
- Zorg ervoor dat macro’s in uw Excel zijn ingeschakeld, zodat de VBA-code correct werkt.
- Als uw gegevens niet-numerieke waarden bevatten, worden deze tijdens de verwerking genegeerd door de macro.
Probleemoplossing en suggesties:Controleer bij elke oplossing altijd of uw selectie het juiste bereik dekt en geen kopteksten bevat. Als u grote bereiken gebruikt, overweeg dan de grootte te beperken om vertragingen bij berekeningen of prestatieverlies te voorkomen—vooral bij het gebruik van matrixformules of macro’s.
Als u deze taak regelmatig uitvoert of uitgebreidere aanpassingen wilt doorvoeren, kunt u overwegen meerdere criteria in uw macro te combineren of een speciale knop te maken voor snellere toegang. Sla uw werk altijd op voordat u nieuwe VBA-scripts uitprobeert, en test deze op back-upkopieën als u nog geen ervaring hebt met programmeren.
Gerelateerde artikelen:
Hoe vindt u de eerste of laatste waarde die groter is dan X in Excel?
Hoe vindt u de hoogste waarde in een rij en de bijbehorende retourneerkolom in Excel?
Hoe vindt u de hoogste waarde en retourneert u de waarde van de aangrenzende cel in Excel?
Hoe vindt u de maximale of minimale waarde op basis van criteria in Excel?
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins