Fórmula genérica
=N(CELL("width",A1)>0)
Resumen
Para contar columnas visibles en un rango, puede usar una fórmula auxiliar basada en la función CELDA con SI, luego contar los resultados con la función SUMA. En el ejemplo que se muestra, la fórmula en I4 es:
=SUM(key)
donde "clave" es el rango con nombre B4: F4, y todas las celdas contienen esta fórmula, copiada en:
=N(CELL("width",B4)>0)
Para ver el cambio de recuento, debe forzar el cálculo con F9 o realizar otro cambio en la hoja de trabajo que active el nuevo cálculo. A continuación se muestra la misma hoja de trabajo con todas las columnas visibles:
Nota: Me encontré con la idea central de esta fórmula en el excelente sitio wmfexcel.com.
Explicación
No hay una forma directa de detectar una columna oculta con una fórmula en Excel. Puede pensar en usar la función SUBTOTAL, pero SUBTOTAL solo funciona con rangos verticales. Como resultado, el enfoque descrito en este ejemplo es una solución alternativa basada en una fórmula auxiliar que se debe ingresar en un rango que incluya todas las columnas en el alcance de interés. En este ejemplo, este rango es el rango denominado "clave".
En el ejemplo que se muestra, las columnas C y E están ocultas. La fórmula auxiliar, ingresada en B4 y copiada en B4: F4, se basa en la función CELDA:
=CELL("width",B4)>0
La función CELDA solo devolverá un ancho para una celda en una columna visible. Cuando una columna está oculta, la misma fórmula devolverá cero. Al verificar si el resultado es mayor que cero, obtenemos un resultado VERDADERO o FALSO. La función N se utiliza para convertir VERDADERO en 1 y FALSO en cero, por lo que el resultado final es 1 cuando una columna está visible y 0 cuando una columna está oculta. Agradable.
Para contar columnas visibles, usamos la fórmula de la función SUMA en I4:
=SUM(key)
donde "clave" es el rango con nombre B4: F4.
Contar columnas ocultas
Para contar columnas ocultas, la fórmula en I5 es:
=COLUMNS(key)-SUM(key)
La función COLUMNAS devuelve el total de columnas en el rango (5) y la función SUMA devuelve la suma de las columnas visibles (3), por lo que el resultado final es 2:
=COLUMNS(key)-SUM(key) =5-3 =2
Con otras operaciones
Una vez que tenga la "clave de columna" en su lugar, puede usarla con otras operaciones. Por ejemplo, puede SUMAR valores en columnas visibles usando SUM como este:
=SUM(key*B6:F6)
Aunque cada celda en B6: F6 contiene el número 25, SUM devolverá 75 cuando las columnas C y E estén ocultas, como se muestra en el ejemplo.
Nota: La función CELDA es una función volátil. Las funciones volátiles normalmente se recalculan con cada cambio de hoja de trabajo, por lo que pueden causar problemas de rendimiento. Desafortunadamente, CELL no se activa cuando una columna se oculta o se vuelve a hacer visible. Esto significa que no verá los resultados correctos hasta que la hoja de trabajo vuelva a calcular, ya sea con un cambio normal o presionando F9.