Otras funciones estadísticas

Además de las funciones básicas ya vistas anteriormente, Excel cuenta con otras que pueden resultar de gran ayuda al recontar celdas vacías u ocupadas:

  • CONTAR: cuenta el número de celdas que contienen números.
  • CONTARSI: cuenta las celdas en el rango que coinciden con una condición dada. Por ejemplo si quisiéramos saber cuántos valores dentro del rango B2:B12 (al que yo he llamado DATOS) son mayores a 50 escribiría en la barra de fórmulas =CONTAR.SI(DATOS;”>50″)
  • CONTAR.BLANCO: devuelve el número de celdas vacías dentro de un rango de datos.
  • CONTARA:Cuenta el número de celdas que no están vacías y los valores que hay en la lista de argumentos. Ojo a diferencia de la función CONTAR , esta cuenta cualquier cosa sea número, letras o carácteres.

Bien estas funciones nos ayudan a contar celdas con o sin datos, pero qué ocurre si quisiéramos contar celdas con un determinado color de fondo. Veamos:

Seleccionamos menú Edición – Buscar (Ctrl+B)
Hacemos clic en la flecha Formato
Seleccionamos Elegir formato de celda

Seleccionamos la celda con formato. En nuestro caso, la A2 que es la que tiene el fondo amarillo

Hacemos clic en Buscar todo.

En la parte inferior del cuadro de diálogo Buscar y reemplazar, se muestran todas las celdas con dicho formato.

Pulsamos Ctrl +A para seleccionar todas las celdas con dicho formato
Al hacerlo en la barra de estado se mostrará la suma de los valores. En este caso, 56863.

Si lo que queremos es contar el número de celdas en vez de sumarlas, hacemos clic con el botón derecho sobre la barra de estado

Seleccionamos la función Cuenta.

En la barra de estado se mostrará el número de celdas con el formato que indiquemos. En este caso hay dos celdas con color de fondo amarillo. Por tanto, en la barra de estado aparece 2.

A continuación reproduzco un post de Jorge Dun de  cómo se prodría hacer con VBA :

Function contar_por_color(RangoColor As Range, CeldaColor As Range)
 Dim rngCelda As Range

 For Each rngCelda In RangoColor
  If rngCelda.Interior.ColorIndex = CeldaColor.Interior.ColorIndex Then
   contar_por_color = contar_por_color + 1
  End If
 Next
End Function

Si quisiéramos sumar los datos que contienen las celdas aplicaríamos la función siguiente:

Function sumar_por_color(RangoColor As Range, CeldaColor As Range, RangoSumar As Range)
Dim rngCelda As Range
Dim colOffset As Long

colOffset = RangoSumar.Column – RangoColor.Column

For Each rngCelda In RangoColor
If rngCelda.Interior.ColorIndex = CeldaColor.Interior.ColorIndex Then
sumar_por_color = sumar_por_color + rngCelda.Offset(0, colOffset).Value
End If
Next
End Function

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: