Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo buscar el primer valor distinto de cero y devolver el encabezado de columna correspondiente en Excel?

Author Xiaoyang Last modified

Al trabajar con datos en Excel, es común necesitar identificar la posición del primer valor distinto de cero dentro de una fila y mostrar el encabezado de columna asociado. Por ejemplo, en un conjunto de datos donde cada fila representa un elemento o persona diferente y las columnas representan períodos de tiempo o categorías, es posible que desee saber cuándo aparece un valor por primera vez para cada fila. Comprobar manualmente cada fila para el primer valor distinto de cero puede ser muy lento, especialmente a medida que crece el tamaño de los datos. Automatizar este proceso de búsqueda no solo mejora la eficiencia, sino que también reduce errores, haciendo que sus análisis sean más confiables. Este artículo explica varias formas prácticas de lograr este objetivo, desde usar fórmulas versátiles de Excel hasta emplear macros VBA, que son particularmente útiles para grandes conjuntos de datos o informes recurrentes.

lookup first non-zero value and return corresponding column header


arrow blue right bubble Buscar el primer valor distinto de cero y devolver el encabezado de columna correspondiente con fórmula

Para identificar eficientemente el encabezado de columna en una fila dada donde aparece el primer valor distinto de cero, puedes usar una fórmula integrada de Excel. Este enfoque es especialmente adecuado para conjuntos de datos de tamaño pequeño a mediano donde la recalculación en tiempo real y la facilidad de configuración son importantes.

1. Seleccione una celda en blanco para mostrar el resultado; en este ejemplo, se utiliza la celda K2.

=INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0))

2. Después de ingresar la fórmula, presione Enter para confirmar. Luego, seleccione K2 y use el controlador de relleno para arrastrar la fórmula hacia abajo para aplicarla al resto de las filas según sea necesario.

use a formula to lookup first non-zero value and return corresponding column header

Nota: En la fórmula anterior, B1:I1 se refiere al rango de encabezados de columna que deseas devolver, y B2:I2 es la fila de datos que estás analizando para el primer valor distinto de cero.

Si tus datos comienzan en diferentes columnas o filas, recuerda ajustar los rangos de la fórmula en consecuencia. Además, esta fórmula funciona de manera efectiva siempre que haya al menos un valor distinto de cero en cada fila analizada; si todos los valores son cero, la fórmula devolverá un error. En tales casos, considera envolver la fórmula en IFERROR como esta: =IFERROR(INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0)),"No hay valores distintos de cero") para devolver un mensaje personalizado en lugar de un error.

Esta solución basada en fórmulas es ideal cuando deseas resultados dinámicos que se actualicen instantáneamente a medida que cambian tus datos de entrada. Sin embargo, para conjuntos de datos extremadamente grandes, la velocidad de cálculo puede verse afectada, y podrías buscar un enfoque VBA para mejorar la automatización del flujo de trabajo o reducir las operaciones manuales.

arrow blue right bubble Usar una macro VBA para encontrar y devolver el encabezado de columna del primer valor distinto de cero en cada fila

Si a menudo necesitas realizar esta tarea de búsqueda en muchas filas o en conjuntos de datos grandes, o si deseas automatizar el proceso para mejorar la eficiencia, usar una macro VBA es una alternativa práctica. Este método es particularmente ventajoso para la generación periódica de informes o cuando manejas tablas de datos que cambian frecuentemente de tamaño. La macro buscará en cada fila especificada el primer valor distinto de cero y devolverá el encabezado de columna correspondiente a una celda objetivo.

1. Haz clic en la pestaña Desarrollador > Visual Basic para abrir la ventana Microsoft Visual Basic para Aplicaciones. (Si la pestaña Desarrollador no está visible, puedes agregarla a través de Archivo > Opciones > Personalizar Cinta.) En el editor VBA, haz clic en Insertar > Módulo.

2. Copia y pega el siguiente código VBA en el nuevo módulo:

Sub LookupFirstNonZeroAndReturnHeader()
    Dim ws As Worksheet
    Dim dataRange As Range
    Dim headerRange As Range
    Dim outputCell As Range
    Dim r As Range
    Dim c As Range
    Dim firstNonZeroCol As Integer
    Dim i As Long
    Dim xTitleId As String
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set ws = Application.ActiveSheet
    Set dataRange = Application.InputBox("Select the data range (excluding headers):", xTitleId, Selection.Address, Type:=8)
    If dataRange Is Nothing Then Exit Sub
    Set headerRange = ws.Range(dataRange.Offset(-1, 0).Resize(1, dataRange.Columns.Count).Address)
    For i = 1 To dataRange.Rows.Count
        Set r = dataRange.Rows(i)
        firstNonZeroCol = 0
        
        For Each c In r.Columns
            If c.Value <> 0 And c.Value <> "" Then
                firstNonZeroCol = c.Column - dataRange.Columns(1).Column + 1
                Exit For
            End If
        Next c
        
        Set outputCell = r.Cells(1, r.Columns.Count + 1)
        
        If firstNonZeroCol > 0 Then
            outputCell.Value = headerRange.Cells(1, firstNonZeroCol).Value
        Else
            outputCell.Value = "No non-zero"
        End If
    Next i
    
    On Error GoTo 0
    MsgBox "Completed! Results are in the column to the right of your data.", vbInformation, "KutoolsforExcel"
End Sub

3. Para ejecutar la macro, haz clic en el botón Ejecutar o presiona la tecla F5. Aparecerá un cuadro de diálogo que te pedirá seleccionar el rango de datos (excluyendo los encabezados de columna). Después de que la macro se ejecute, la columna inmediatamente a la derecha del rango de datos seleccionado se llenará con el encabezado del primer valor distinto de cero para cada fila, o un mensaje "No hay valores distintos de cero" si no se encuentra ningún valor.

Este enfoque VBA destaca en tareas repetitivas y es excelente para manejar grandes conjuntos de datos, reduciendo el esfuerzo manual. Sin embargo, asegúrate de que las macros estén habilitadas en tu entorno de Excel y siempre haz una copia de seguridad de tu libro antes de ejecutar código.

Nota: Si encuentras errores, verifica que tu selección excluya la fila de encabezados e incluya solo las filas de datos. 

a screenshot of kutools for excel ai

Descubre la Magia de Excel con Kutools AI

  • Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
  • Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
  • Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
  • Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
  • Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Potencia tus capacidades de Excel con herramientas impulsadas por IA. ¡Descarga Ahora y experimenta una eficiencia como nunca antes!

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado 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 identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar 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 | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos