
El concepto de "Formula Para Contar Celdas Con Color" se refiere a una técnica para contar automáticamente el número de celdas en una hoja de cálculo (como Excel o Google Sheets) que tienen un determinado color de fondo. Esto no se puede hacer directamente con las funciones estándar de conteo como CONTAR.SI o CONTARA. Necesitamos usar una combinación de herramientas o funciones para lograrlo.
Existen principalmente dos formas de hacerlo:
- Usando una Función Definida por el Usuario (UDF) en VBA (Visual Basic for Applications): Esta es la opción más común en Excel. Requiere conocimientos básicos de programación VBA.
- Usando el filtro y la función SUBTOTALES: Este método es más sencillo y no requiere programación, pero puede ser un poco más manual.
Función Definida por el Usuario (UDF) en VBA:
Must Read
Pasos:

- Abre el editor de VBA (Alt + F11 en Excel).
- Inserta un nuevo módulo (Insertar > Módulo).
- Copia y pega el siguiente código VBA:
Function ContarPorColor(rango As Range, color As Range) As Long
Dim celda As Range
Application.Volatile True 'Recalcula la función automáticamente
For Each celda In rango
If celda.Interior.Color = color.Interior.Color Then
ContarPorColor = ContarPorColor + 1
End If
Next celda
End Function
- Cierra el editor de VBA.
- En tu hoja de cálculo, usa la función
=ContarPorColor(rango, celda_con_el_color). Donderangoes el rango de celdas que quieres contar, ycelda_con_el_colores una celda que tiene el color que quieres contar.
Ejemplo: Si quieres contar las celdas de A1 a A10 que tienen el mismo color que la celda C1, usa la fórmula =ContarPorColor(A1:A10, C1).
Usando el Filtro y la función SUBTOTALES:
- Selecciona el rango de celdas que quieres analizar.
- Aplica un filtro (Datos > Filtro).
- Filtra las celdas por color (haz clic en la flecha del filtro en la columna, selecciona "Filtrar por color" y elige el color que quieres contar).
- Usa la función
=SUBTOTALES(103, rango_visible)para contar las celdas visibles.103es el código para la función CONTARA que ignora las celdas ocultas.rango_visibledebe ser el mismo rango que filtraste.
Consideraciones: La función VBA se recalcula automáticamente (Application.Volatile True), pero puede ralentizar la hoja si la usas en rangos muy grandes. El método del filtro requiere que apliques manualmente el filtro cada vez que cambien los colores.