Skip to main content

Kutools voor Office — Eén Suite. Vijf Tools. Verwezenlijkt Meer.

Hoe het eerste / laatste positieve / negatieve getal in Excel te vinden?

Author Xiaoyang Last modified

Bij het werken met een kolom met getallen die zowel positieve als negatieve waarden bevat, moet u vaak snel de eerste of laatste positieve of negatieve waarde in het bereik lokaliseren. Dit kan vooral handig zijn voor data-analyse, trenddetectie of het identificeren van specifieke invoerpunten in grote datasets. Het vertrouwen op handmatige inspectie voor grote datasets is inefficiënt en foutgevoelig. Gelukkig biedt Excel verschillende praktische methoden om deze taak te stroomlijnen, zodat u de exacte waarden kunt extraheren met formules of automatisering. Hieronder vindt u meerdere oplossingen die geschikt zijn voor verschillende scenario's, inclusief geavanceerde methoden die ideaal zijn voor herhaalde of grootschalige operaties.

Zoek het eerste positieve / negatieve getal met een arrayformule

Zoek het laatste positieve / negatieve getal met een arrayformule

VBA-macro om het eerste / laatste positieve / negatieve getal te vinden


arrow blue right bubble Zoek het eerste positieve / negatieve getal met een arrayformule

Om het eerste positieve of negatieve getal uit een reeks waarden te extraheren, kunt u arrayformules in Excel gebruiken. Deze methode is geschikt voor gebruikers die een snelle oplossing nodig hebben voor gemiddelde databereiken en bekend zijn met formules, vooral in omgevingen waar extra invoegtoepassingen of macro's beperkt zijn. De arraybenadering wordt automatisch bijgewerkt als uw brongegevens veranderen, waardoor het ideaal is voor dynamische lijsten. Zo kunt u het implementeren:

1. Selecteer een lege cel, voer de volgende arrayformule in om het eerste positieve getal te krijgen:

=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))

Hier verwijst A2:A18 naar de datalijst waarin u wilt zoeken. Deze formule lokaliseert de eerste cel in het bereik met een waarde groter dan 0 en retourneert de inhoud van die cel. Zie de volgende schermafbeelding:

A screenshot showing a dataset to find the first positive number in Excel

2. Druk na het typen van de formule gelijktijdig op Ctrl + Shift + Enter, in plaats van alleen op Enter. Dit zal de arrayformule correct uitvoeren en het eerste positieve getal uit uw lijst retourneren, zoals weergegeven in het onderstaande voorbeeld:

A screenshot showing the result of the first positive number using an array formula in Excel

Tip: Om het eerste negatieve getal te verkrijgen, gebruikt u eenvoudigweg deze formule (vergeet niet om na het typen op Ctrl + Shift + Enter te drukken):

=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0))

In beide formules kunt u door de voorwaarde te wijzigen (>0 voor positief, <0 voor negatief) het gewenste getaltype richten. Let op: arrayformules ondersteunen geen lege celverwijzingen, dus zorg ervoor dat uw databereik geen lege cellen bevat voor consistente resultaten. Als alle getallen positief of negatief zijn, kan de formule een fout retourneren—overweeg om een IFERROR-functie toe te voegen als u fouten wilt onderdrukken en een aangepast bericht wilt weergeven.

Opmerking: In recente versies van Excel (Office 365 en Excel 2021 en later) hoeft u mogelijk Ctrl + Shift + Enter niet te gebruiken; het indrukken van Enter kan voldoende zijn vanwege ondersteuning voor dynamische arrays.


arrow blue right bubbleZoek het laatste positieve / negatieve getal met een arrayformule

Als uw doel is om de laatste positieve of negatieve waarde in een kolom te identificeren, kunt u een andere arrayformule gebruiken. Deze aanpak is geschikt voor het snel analyseren van eindtrends of het lokaliseren van het meest recente datapunt van een specifiek type. Merk op dat deze methode gegevensupdates dynamisch weerspiegelt, wat vooral waardevol is wanneer u regelmatig nieuwe getallen aan de lijst toevoegt.

1. Selecteer een lege cel naast uw datakolom en voer deze arrayformule 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 gebruik te maken van het gedrag van LOOKUP om de laatste numerieke overeenkomst te retourneren voor een extreem groot getal. Hier filtert IF($A$2:$A$18 >0, $A$2:$A$18) alleen de positieve getallen, en LOOKUP retourneert vervolgens de laatste gevonden waarde. Zie hieronder voor een illustratie:

A screenshot showing the array formula for finding the last positive number in Excel

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

A screenshot showing the result of the last positive number using an array formula in Excel

Gebruik de volgende arrayformule om het laatste negatieve getal te retourneren, ook met Ctrl + 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/A). Om dergelijke gevallen elegant af te handelen, kunt u de formule inpakken in IFERROR. Bijvoorbeeld:

=IFERROR(LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)), "No match found")

Het is belangrijk om samengevoegde cellen of gecombineerde tekst-/getalformaten in uw bereik te vermijden, omdat ze de berekeningsresultaten van de formule kunnen verstoren. Controleer altijd uw gegevensintegriteit voordat u deze methoden gebruikt voor de beste nauwkeurigheid.


arrow blue right bubbleVBA-macro om het eerste / laatste positieve / negatieve getal te vinden

Als u vaak het eerste of laatste positieve of negatieve getal in meerdere bereiken of zeer grote datasets moet vinden, kan het automatiseren van deze taak met een VBA-macro veel tijd besparen en handmatige fouten verminderen. Deze oplossing stelt u in staat om een geselecteerd bereik te doorzoeken en direct de vereiste waarde te verkrijgen, wat ideaal is voor batchverwerking of herhalende analysetaken. De VBA-aanpak is vooral nuttig in scenario's waar complexe criteria of aangepaste workflows nodig zijn, hoewel het wel basiskennis vereist van Excel's ontwikkeltools.

1. Klik op Ontwikkelaar > Visual Basic om het Microsoft Visual Basic for Applications-venster te openen. Klik vervolgens in de VBA-editor op Invoegen > Module en kopieer de volgende code in 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. Om de macro uit te voeren, druk F5 (of klik op de Run button Uitvoeren knop), en volg deze stappen:

  • Een dialoogvenster vraagt u om uw getalbereik te 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).
  • Na het invoeren van uw keuze en het bevestigen, wordt het resultaat weergegeven in een berichtenvenster.

Tips:

  • Deze macro kan elk aaneengesloten getalbereik dat door de gebruiker is geselecteerd verwerken, wat flexibiliteit biedt in de indeling van de gegevens.
  • Als het opgegeven type niet overeenkomt met een getal in het bereik, krijgt u een melding in plaats van een fout.
  • Zorg ervoor dat macro's zijn ingeschakeld in uw Excel om de VBA-code te laten werken.
  • Als uw gegevens niet-numerieke waarden bevatten, zal de macro deze tijdens de verwerking negeren.

 

Problemen oplossen en suggesties: Controleer bij alle oplossingen altijd of uw selectie het bedoelde bereik bevat en geen kopteksten omvat. Als u grote bereiken gebruikt, overweeg dan om de grootte te beperken om reken- of prestatievertragingen te voorkomen, vooral bij het gebruik van arrayformules of macro's.

Als u merkt dat u deze taak vaak uitvoert of meer aanpassingen wilt, overweeg dan om meerdere criteria in uw macro te combineren of een toegewijde knop te maken voor gemakkelijker toegang. Sla altijd uw werk op voordat u nieuwe VBA-scripts probeert en test op back-upkopieën als u nieuw bent in programmeren.


Gerelateerde artikelen:

Hoe het eerste / laatste getal groter dan X in Excel te vinden?

Hoe de hoogste waarde in een rij te vinden en de kolomkop terug te geven in Excel?

Hoe de hoogste waarde te vinden en de aangrenzende celwaarde terug te geven in Excel?

Hoe de max of min waarde te vinden op basis van criteria in Excel?

Beste productiviteitstools voor Office

🤖 Kutools AI Assistent: Transformeer data-analyse door: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools functies aanroepen
Populaire functies: Dubbele waarden markeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies |   Afronden zonder formule...
Super ZOEKEN: Meervoudig-criteria opzoeken | Meervoudige waarde opzoeken | Meervoudig-blad opzoeken | Fuzzy Match....
Geavanceerde keuzelijst: Keuzelijst snel maken | Afhankelijke keuzelijst | Meervoudige selectie in keuzelijst....
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheidsstatus van verborgen kolommen wisselen | Bereik & kolommen vergelijken...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden via lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...)...
Top15 gereedschapssets:12 teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) | 50+ grafiek typen (Gantt-diagram, ...) | 40+ praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) | 19 invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & splitsgereedschappen (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer
Gebruik Kutools in je voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en meer dan40 andere talen!

Verbeter je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te kiezen die je het meest nodig hebt...


Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger

  • Activeer tabbladbewerking en -lezen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!

Alle Kutools-invoegtoepassingen. Eén installatieprogramma

Kutools for Office-suite bundelt invoegtoepassingen voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro, ideaal voor teams die werken met Office-toepassingen.

Excel Word Outlook Tabs PowerPoint
  • Alles-in-één suite — invoegtoepassingen voor Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Eén installatieprogramma, één licentie — in enkele minuten geïnstalleerd (MSI-ready)
  • Werkt beter samen — gestroomlijnde productiviteit over meerdere Office-toepassingen
  • 30 dagen volledige proef — geen registratie, geen creditcard nodig
  • Beste prijs — bespaar ten opzichte van losse aanschaf van invoegtoepassingen