Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come trovare il primo / ultimo numero positivo / negativo in Excel?

Author Xiaoyang Last modified

Quando si lavora con una colonna di numeri che contiene sia valori positivi che negativi, potrebbe essere necessario individuare rapidamente il primo o l'ultimo numero positivo o negativo nell'intervallo. Questo può essere particolarmente utile per l'analisi dei dati, la rilevazione di tendenze o l'identificazione di punti di ingresso specifici in grandi set di dati. Fare affidamento su un controllo manuale per grandi quantità di dati è inefficiente e soggetto a errori. Fortunatamente, Excel offre diversi metodi pratici per semplificare questo compito, consentendoti di estrarre i valori precisi di cui hai bisogno con formule o automazioni. Di seguito, troverai diverse soluzioni adatte a scenari diversi, inclusi approcci avanzati ideali per operazioni ripetute o su larga scala.

Trova il primo numero positivo / negativo con la formula matrice

Trova l'ultimo numero positivo / negativo con la formula matrice

Macro VBA per trovare il primo / ultimo numero positivo / negativo


arrow blue right bubble Trova il primo numero positivo / negativo con la formula matrice

Per estrarre il primo numero positivo o negativo da una serie di valori, puoi utilizzare le formule matrice di Excel. Questo metodo è adatto per gli utenti che necessitano di una soluzione rapida per intervalli di dati moderati e sono a proprio agio con le formule, specialmente in ambienti in cui sono limitati add-in o macro aggiuntivi. L'approccio basato su matrici si aggiorna automaticamente se i tuoi dati di origine cambiano, rendendolo adatto per liste dinamiche. Ecco come puoi implementarlo:

1. Seleziona una cella vuota, inserisci la seguente formula matrice per ottenere il primo numero positivo:

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

Qui, A2:A18 si riferisce all'elenco di dati che desideri esaminare. Questa formula individua la prima cella nell'intervallo con un valore maggiore di 0, quindi restituisce il contenuto di quella cella. Vedi lo screenshot seguente:

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

2. Dopo aver digitato la formula, premi contemporaneamente Ctrl + Maiusc + Invio invece di premere solo Invio. Questo eseguirà correttamente la formula matrice e restituirà il primo numero positivo dalla tua lista, come mostrato nell'esempio sottostante:

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

Suggerimento: Per recuperare il primo numero negativo, usa semplicemente questa formula (ricorda di premere Ctrl + Maiusc + Invio dopo averla digitata):

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

In entrambe le formule, modificando la condizione (>0 per positivo, <0 per negativo) puoi mirare al tipo di numero richiesto. Tieni presente che le formule matrice non supportano riferimenti a celle vuote, quindi assicurati che il tuo intervallo di dati non includa celle vuote per risultati coerenti. Se tutti i numeri sono positivi o negativi, la formula potrebbe restituire un errore—considera di aggiungere una funzione SE.ERRORE se vuoi sopprimere gli errori e visualizzare un messaggio personalizzato.

Nota: Nelle versioni recenti di Excel (Office 365 ed Excel 2021 e successive), potrebbe non essere necessario usare Ctrl + Maiusc + Invio; premere solo Invio potrebbe essere sufficiente grazie al supporto delle matrici dinamiche.


arrow blue right bubbleTrova l'ultimo numero positivo / negativo con la formula matrice

Se il tuo obiettivo è identificare l'ultimo valore positivo o negativo in una colonna, puoi utilizzare una formula matrice diversa. Questo approccio è adatto per analizzare rapidamente tendenze finali o individuare l'ultimo punto dati di un tipo specifico. Nota che questo metodo riflette dinamicamente gli aggiornamenti dei dati, il che è particolarmente prezioso quando aggiungi regolarmente nuovi numeri alla lista.

1. Seleziona una cella vuota accanto alla tua colonna di dati e inserisci questa formula matrice per trovare l'ultimo numero positivo:

=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18))

Questa formula funziona sfruttando il comportamento di RICERCA.VERT che restituisce l'ultima corrispondenza numerica trovata per un numero estremamente grande. Qui, SE($A$2:$A$18 >0, $A$2:$A$18) filtra solo i numeri positivi, e RICERCA.VERT restituisce l'ultima occorrenza. Vedi l'illustrazione qui sotto:

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

2. Conferma la formula premendo Ctrl + Maiusc + Invio (a meno che la tua versione di Excel non supporti le matrici dinamiche). Il risultato mostrerà l'ultimo valore positivo presente nell'intervallo specificato, come dimostrato di seguito:

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

Per restituire l'ultimo numero negativo, utilizza invece la seguente formula matrice, sempre con Ctrl + Maiusc + Invio:

=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 <0, $A$2:$A$18))

Se non viene trovato alcun valore positivo o negativo, la formula restituirà un errore (#N/D). Per gestire tali casi con grazia, avvolgi la formula in SE.ERRORE. Ad esempio:

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

È importante evitare celle unite o formati combinati testo/numero nel tuo intervallo, poiché potrebbero interrompere i risultati del calcolo della formula. Verifica sempre l'integrità dei tuoi dati prima di utilizzare questi metodi per la massima precisione.


arrow blue right bubbleMacro VBA per trovare il primo / ultimo numero positivo / negativo

Se hai frequentemente bisogno di trovare il primo o l'ultimo numero positivo o negativo in più intervalli o set di dati molto grandi, automatizzare questo compito con una macro VBA può risparmiare tempo significativo e ridurre gli errori manuali. Questa soluzione ti consente di cercare un intervallo selezionato e recuperare immediatamente il valore richiesto, rendendola ideale per l'elaborazione batch o compiti analitici ripetitivi. L'approccio VBA è particolarmente utile in scenari in cui sono necessari criteri complessi o flussi di lavoro personalizzati, anche se richiede una conoscenza di base degli strumenti di sviluppo di Excel.

1. Clicca Sviluppatore > Visual Basic per aprire la finestra Microsoft Visual Basic for Applications. Poi, nell'editor VBA, clicca Inserisci > Modulo, e copia il seguente codice nel nuovo modulo:

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. Per eseguire la macro, premi F5 (o clicca il pulsante Run button Esegui e segui questi passaggi:

  • Una finestra di dialogo ti chiederà di selezionare l'intervallo numerico (ad esempio, A2:A18).
  • Successivamente, inserisci il tipo di ricerca: digita FirstPos per il primo numero positivo, FirstNeg per il primo numero negativo, LastPos per l'ultimo numero positivo, o LastNeg per l'ultimo numero negativo (non sensibile alle maiuscole/minuscole).
  • Dopo aver inserito la tua scelta e confermato, il risultato verrà visualizzato in una finestra di messaggio.

Suggerimenti:

  • Questa macro può gestire qualsiasi intervallo numerico contiguo selezionato dall'utente, consentendo flessibilità nel layout dei dati.
  • Se il tipo specificato non corrisponde a nessun numero nell'intervallo, riceverai una notifica invece di un errore.
  • Assicurati che le macro siano abilitate nel tuo Excel affinché il codice VBA funzioni.
  • Se i tuoi dati includono valori non numerici, la macro li ignorerà durante l'elaborazione.

 

Risoluzione dei problemi e suggerimenti: Per tutte le soluzioni, conferma sempre che la tua selezione contenga l'intervallo previsto e non includa intestazioni. Se utilizzi intervalli ampi, considera di limitarne la dimensione per evitare ritardi nei calcoli o nelle prestazioni, soprattutto quando si utilizzano formule matrice o macro.

Se ti ritrovi a eseguire frequentemente questo compito o desideri più personalizzazione, considera di combinare criteri multipli nella tua macro o creare un pulsante dedicato per un accesso più facile. Salva sempre il tuo lavoro prima di provare nuovi script VBA e testa su copie di backup se sei nuovo alla programmazione.


Articoli correlati:

Come trovare il primo / ultimo valore maggiore di X in Excel?

Come trovare il valore più alto in una riga e restituire l'intestazione della colonna in Excel?

Come trovare il valore più alto e restituire il valore della cella adiacente in Excel?

Come trovare il valore massimo o minimo in base a criteri in Excel?

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
  • Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!

Tutti gli add-in Kutools. Un solo programma di installazione

La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.

Excel Word Outlook Tabs PowerPoint
  • Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
  • Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
  • Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
  • Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in