KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo encontrar el primer o último número positivo o negativo en Excel?

AutorXiaoyang Fecha de modificación

Al trabajar con una columna de números que incluye valores positivos y negativos, a menudo necesitará identificar rápidamente el primer o último número positivo o negativo dentro del rango. Esta capacidad resulta especialmente útil en análisis de datos, detección de tendencias o localización de puntos de entrada específicos en conjuntos de datos extensos. Depender de la inspección manual en estos casos es ineficiente y propenso a errores. Afortunadamente, Excel ofrece varios métodos prácticos para agilizar esta tarea, permitiéndole obtener los valores exactos que necesita mediante fórmulas o automatización. A continuación, encontrará múltiples soluciones adaptadas a distintos escenarios, incluidos enfoques avanzados ideales para operaciones repetitivas o a gran escala.

Encontrar el primer número positivo/negativo con fórmula matricial

Encontrar el último número positivo/negativo con fórmula matricial

Macro VBA para encontrar el primer/último número positivo/negativo


flecha azul derecha burbuja Encontrar el primer número positivo/negativo con fórmula matricial

Para extraer el primer número positivo o negativo de una serie de valores, puede usar fórmulas matriciales de Excel. Este método es ideal para usuarios que buscan una solución rápida para rangos moderados y se sienten cómodos con fórmulas, especialmente en entornos donde no están permitidos complementos ni macros adicionales. Además, el enfoque matricial se actualiza automáticamente cuando cambian sus datos de origen, lo que lo hace perfecto para listas dinámicas. A continuación, se explica cómo implementarlo:

1. Seleccione una celda vacía e introduzca la siguiente fórmula matricial para obtener el primer número positivo:

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

Aquí, A2:A18 hace referencia a la lista de datos que desea buscar. Esta fórmula localiza la primera celda del rango con un valor mayor que 0 y devuelve su contenido. Vea la siguiente captura de pantalla:

Una captura de pantalla que muestra un conjunto de datos para encontrar el primer número positivo en Excel

2. Tras escribir la fórmula, pulse Ctrl + Mayús + Entrar simultáneamente, en lugar de pulsar solo Entrar. Así se ejecutará correctamente la fórmula matricial y devolverá el primer número positivo de su lista, tal como se muestra en el ejemplo siguiente:

Una captura de pantalla que muestra el resultado del primer número positivo mediante una fórmula matricial en Excel

Consejo:Para obtener el primer número negativo en su lugar, utilice simplemente esta fórmula (recuerde pulsar)Ctrl + Mayús + Entrartras escribirla):

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

En ambas fórmulas, al modificar la condición ()>0 para números positivos, <0 para negativos), podrá enfocarse en el tipo de número que necesite. Tenga en cuenta que las fórmulas matriciales no admiten referencias a celdas vacías, por lo que debe asegurarse de que su rango de datos no incluya celdas en blanco para obtener resultados consistentes. Si todos los números son positivos o todos negativos, la fórmula podría devolver un error; en ese caso, considere añadir la función SI.ERROR para suprimir errores y mostrar un mensaje personalizado.

Aviso: En versiones recientes de Excel (Office 365 y Excel 2021 en adelante), es posible que ya no necesite usar Ctrl + Mayús + Entrar; basta con pulsar Entrar, gracias al soporte de matrices dinámicas.


flecha azul derecha burbuja Encontrar el último número positivo/negativo con fórmula matricial

Si su objetivo es identificar el último valor positivo o negativo en una columna, puede utilizar una fórmula matricial alternativa. Este enfoque es ideal para analizar rápidamente las tendencias finales o localizar el punto de datos más reciente de un tipo especificado. Tenga en cuenta que este método se actualiza dinámicamente con los cambios en los datos, lo que resulta especialmente valioso cuando añade nuevos números a la lista de forma regular.

1. Seleccione una celda vacía junto a su columna de datos e introduzca esta fórmula matricial para encontrar el último número positivo:

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

Esta fórmula funciona aprovechando el comportamiento de BUSCARV, que devuelve la última coincidencia numérica encontrada al buscar un número extremadamente grande. Aquí, SI($A$2:$A$18 >0, $A$2:$A$18) filtra únicamente los números positivos, y BUSCARV devuelve entonces la última aparición. Vea esto ilustrado a continuación:

Una captura de pantalla que muestra la fórmula matricial para encontrar el último número positivo en Excel

2. Confirme la fórmula pulsando Ctrl + Mayús + Entrar (a menos que su versión de Excel admita matrices dinámicas). El resultado mostrará el último valor positivo presente en el rango limitado, tal como se muestra a continuación:

Una captura de pantalla que muestra el resultado del último número positivo mediante una fórmula matricial en Excel

Para devolver el último número negativo, utilice en su lugar la siguiente fórmula matricial, también con Ctrl + Mayús + Entrar:

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

Si no se encuentra ningún valor positivo ni negativo, la fórmula devolverá un error ()#N/A). Para gestionar estos casos de forma adecuada, envuelva la fórmula en la función SI.ERROR. Por ejemplo:

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

Es fundamental evitar formatos combinados de texto y número en su rango, ya que podrían distorsionar los resultados del cálculo de la fórmula. Verifique siempre la integridad de sus datos antes de aplicar estos métodos para garantizar la máxima precisión.


flecha azul derecha burbuja Macro VBA para encontrar el primer/último número positivo/negativo

Si con frecuencia necesita encontrar el primer o último número positivo o negativo en varios rangos o en conjuntos de datos muy grandes, automatizar esta tarea con una macro VBA puede ahorrarle mucho tiempo y minimizar errores manuales. Esta solución le permite seleccionar un rango y obtener al instante el valor que busca, lo que la convierte en una opción ideal para procesamiento por lotes o tareas analíticas repetitivas. El enfoque VBA resulta especialmente útil en escenarios que requieren criterios complejos o flujos de trabajo personalizados, aunque exige cierta familiaridad básica con las herramientas para desarrolladores de Excel.

1. Haga clic en Desarrollador > Visual Basic para abrir la ventana de Microsoft Visual Basic para Aplicaciones. A continuación, en el editor de VBA, haga clic en Insertar > Módulo y copie el siguiente código en el nuevo módulo:

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. Para ejecutar la macro, pulse F5(o haga clic en el botón)Botón Ejecutar Ejecutar) y siga estos pasos:

  • Aparecerá un cuadro de diálogo en el que deberá seleccionar su rango de números (por ejemplo, A2:A18).
  • A continuación, introduzca su tipo de búsqueda: escriba FirstPos para el primer número positivo, FirstNeg para el primer número negativo, LastPos para el último número positivo o LastNeg para el último número negativo (no distingue mayúsculas y minúsculas).
  • Tras introducir y confirmar su elección, el resultado se mostrará en un cuadro de mensaje.

Consejos:

  • Esta macro puede gestionar cualquier rango contiguo de números que el usuario seleccione, ofreciendo flexibilidad en la disposición de los datos.
  • Si el tipo especificado no coincide con ningún número del rango, recibirá una notificación en lugar de un error.
  • Asegúrese de tener las macros habilitadas en su Excel para que el código VBA funcione correctamente.
  • Si sus datos contienen valores no numéricos, la macro los ignorará durante el procesamiento.

 

Resolución de problemas y sugerencias: En todas las soluciones, asegúrese siempre de que su selección incluya únicamente el rango deseado y no contenga encabezados. Si trabaja con rangos extensos, considere reducir su tamaño para evitar retrasos en los cálculos o en el rendimiento, especialmente al utilizar fórmulas matriciales o macros.

Si realiza esta tarea con frecuencia o busca una mayor personalización, considere combinar varios criterios en su macro o crear un botón dedicado para acceder a ella con facilidad. Siempre guarde su trabajo antes de probar nuevos scripts de VBA y realice las pruebas en copias de seguridad si está empezando a programar.


Artículos relacionados:

¿Cómo encontrar el primer o último valor mayor que X en Excel?

¿Cómo encontrar el valor más alto en una fila y devolver su encabezado de columna en Excel?

¿Cómo encontrar el valor más alto en Excel y devolver el valor de la celda adyacente?

¿Cómo encontrar el valor máximo o mínimo en Excel según criterios específicos?

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos