Contar celdas con colores de texto (Microsoft Excel)
Michala tiene una hoja de trabajo con las respuestas de la encuesta que incluye diferentes textos en diferentes colores. Por ejemplo, si la respuesta de la encuesta es «No me gustan los perros», la palabra «perros» puede ser de color rojo y el resto del texto es negro. Una respuesta puede tener varios colores, por ejemplo, en la respuesta «Me gustan los perros y los gatos», la palabra «perros» puede estar en rojo y la palabra «gatos» en azul. Michala necesita una forma de resaltar un rango de celdas y contar cuántas celdas contienen texto de un color específico, como rojo o azul.
Esto se hace mejor desarrollando una función definida por el usuario que pueda hacer el recuento por usted. El siguiente ejemplo recorre un rango de celdas y cuenta para cualquier valor de índice de color que especifique.
Function CountColorIndex(rng As Range, iColor As Integer) Dim v As Variant Dim rCell As Range Dim str As String Dim sChar As String Dim x As Integer Dim iCount As Integer iCount = 0 For Each rCell In rng v = rCell.Font.ColorIndex If IsNull(v) Then For x = 1 To Len(rCell.Value) If rCell.Characters(x, 1).Font.ColorIndex _ = iColor Then iCount = iCount + 1 Exit For End If Next ElseIf v = iColor Then iCount = iCount + 1 End If Next CountColorIndex = iCount End Function
La función primero mira el color de fuente de la celda como un todo. Si el color de la celda es Nulo, eso significa que se ha cambiado el color de los caracteres individuales y, por lo tanto, la función comienza a examinar cada carácter. Si encuentra el color coincidente, el recuento (iCount) se incrementa y la función deja de mirar a través de cada carácter.
Si el color de la celda no es Nulo, la función determina si el color de la fuente de la celda en su conjunto coincide con el color deseado. Si es así, se incrementa el recuento.
Este proceso se repite para cada celda en el rango especificado, y la función luego devuelve el valor del recuento. Utiliza la función de la siguiente manera:
=CountColorIndex(B7:D42,3)
Esta fórmula verifica el rango B7: D42 para ver si hay instancias del color rojo. Luego, la fórmula devuelve el recuento.
Vale la pena mencionar que la función se basa en los valores del índice de color.
El valor predeterminado normal para el rojo es 3 y el valor para el azul es 5, pero el usuario puede modificar estos valores y pueden variar según la versión de Excel que esté utilizando. Para que la función devuelva los resultados deseados, deberá modificar el valor del índice de color, especificado en el segundo parámetro de la fórmula, para que represente los índices de color utilizados en su libro de trabajo en particular.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2901) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.