Celda de color basada en el valor del texto

23

Una columna de Excel contiene un valor de texto que representa la categoría de esa fila.

¿Hay alguna forma de formatear todas las celdas que tienen un valor distinto con un color único sin crear manualmente un formato condicional para cada valor?

Ejemplo: si tuviera las categorías bedroom, bedroom, bathroom, kitchen, living room, me gustaría que todas las celdas que contengan bedroomsean de un color particular, bathroomun color diferente, etc.

Steven
fuente
Si no quieres hacerlo manualmente, ¿cómo quieres que se decida de qué color deben ser las cosas?
soandos
2
Me gustaría que sea automático si es posible, similar a cómo se eligen los colores para diferentes series en un gráfico.
Steven
Ah, entonces ¿quieres que todas las celdas con el mismo contenido sean del mismo color, pero no te importa de qué color es?
soandos
¿Sería aceptable una macro única (para crear los formatos condicionales una vez)? Tendría que ejecutarse exactamente una vez por libro de trabajo y podría eliminarse después de eso.
Tex Hex
Soandos: Sí, TeX Hex: ¡Seguro!
Steven

Respuestas:

6
  1. Copie la columna que desea formatear en una hoja de trabajo vacía.
  2. Seleccione la columna y luego elija "Eliminar duplicados" en el panel "Herramientas de datos" en la pestaña "Datos" de la cinta.
  3. A la derecha de su lista única de valores o cadenas, haga una lista única de números. Por ejemplo, si tiene 6 categorías para colorear, la segunda columna podría ser 1-6. Esta es tu tabla de búsqueda.
  4. En una nueva columna, use VLOOKUPpara asignar la cadena de texto al nuevo color.
  5. Aplicar formato condicional basado en la nueva columna numérica.
Eric
fuente
3
El paso 4 no está claro para mí, ¿podría explicarlo? Gracias.
píxeles
1
¿Podrías dar más detalles sobre 5?
zthomas.nc
1
Pero sin duda esto significa, entonces, el formato está en las células que contienen el valor numérico y no el valor de texto
Adolf ajo
11

Las siguientes capturas de pantalla son de Excel 2010, pero deberían ser las mismas para 2007.

Seleccione la celda y vaya a Conditional Formatting | Highlight Cells Rules | Text that Contains

ACTUALIZACIÓN: para aplicar el formato condicional para toda la hoja de trabajo, seleccione todas las celdas y luego aplique el formato condicional.

ingrese la descripción de la imagen aquí
(Haga clic en la imagen para ampliarla)

Ahora solo seleccione el formato que desee.

ingrese la descripción de la imagen aquí

Nicu Zecheru
fuente
55
¿Todavía no va a requerir que el OP cree manualmente un formato condicional para cada valor?
Dave DuPlantis
1
@Dave DuPlantis - NO. Puede seleccionar TODAS las celdas y luego usar el formato condicional. Todas las celdas que cumplieron la condición se formatearán en consecuencia.
Nicu Zecheru
66
Cada condición aún debe crearse manualmente, aunque solo deben crearse una vez para todo el libro. Está buscando una solución que no requiera que especifique los valores.
Dave DuPlantis
Entonces, ¿es posible tener múltiples reglas para el 'texto contiene'? esto sigue siendo bastante pobre funcionalidad de MS
Adolf ajo
2

De: http://www.mrexcel.com/forum/excel-questions/861678-highlighting-rows-random-colors-if-there-duplicates-one-column.html#post4185738

Sub ColourDuplicates()
Dim Rng As Range
Dim Cel As Range
Dim Cel2 As Range
Dim Colour As Long




Set Rng = Worksheets("Sheet1").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
Rng.Interior.ColorIndex = xlNone
Colour = 6
For Each Cel In Rng


If WorksheetFunction.CountIf(Rng, Cel) > 1 And Cel.Interior.ColorIndex = xlNone Then
Set Cel2 = Rng.Find(Cel.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchDirection:=xlNext)
    If Not Cel2 Is Nothing Then
        Firstaddress = Cel2.Address
        Do
        Cel.Interior.ColorIndex = Colour
        Cel2.Interior.ColorIndex = Colour
            Set Cel2 = Rng.FindNext(Cel2)

        Loop While Firstaddress <> Cel2.Address
    End If




Colour = Colour + 1


End If
Next


End Sub
Karmo
fuente
Veo que ya voté por esta respuesta, pero no puedo encontrar el código que terminé usando. Algún día eventualmente escribiré un código flexible y lo compartiré aquí también.
Ryan
1

El color automático que elige Formato condicional no es una característica de Microsoft Excel.

Sin embargo, puede colorear una fila completa según el valor de una columna de categoría individualmente.

  1. Cree una nueva regla de formato en formato condicional.
  2. Use una fórmula para determinar qué celdas formatear.
  3. Fórmula: =$B1="bedroom"(suponiendo que la columna de categoría es B)
  4. Establecer formato (usando color de relleno)
  5. Aplicar formato de regla a todas las celdas
Steven
fuente
2
Para tu información, Eric ha publicado una respuesta mucho más útil ... la tuya en cambio parece una repetición de la primera respuesta que obtuviste.
Frank