Cella di colore basata sul valore del testo


23

Una colonna di Excel contiene un valore di testo che rappresenta la categoria di quella riga.

Esiste un modo per formattare tutte le celle con un valore distinto un colore unico senza creare manualmente un formato condizionale per ciascun valore?

Esempio: se avessi le categorie bedroom, bedroom, bathroom, kitchen, living room, vorrei che tutte le celle contenenti bedroomfossero un colore particolare, bathroomun colore diverso, ecc.


Se non vuoi farlo manualmente, come vuoi che decida di che colore dovrebbero essere le cose?
soandos,

2
Vorrei che fosse automatico, se possibile, simile a come i colori sono scelti per diverse serie in un grafico.
Steven,

Ah, quindi vuoi che tutte le celle con lo stesso contenuto siano dello stesso colore, ma non ti importa di che colore sia?
Soandos,

Una macro una tantum (per creare i formati condizionali una volta) sarebbe accettabile? Dovrebbe essere eseguito esattamente una volta per cartella di lavoro e dopo potrebbe essere rimosso.
Tex Hex,

soandos: Sì, TeX Hex: Sicuro!
Steven,

Risposte:


6
  1. Copia la colonna che desideri formattare in un foglio di lavoro vuoto.
  2. Seleziona la colonna, quindi scegli "Rimuovi duplicati" dal pannello "Strumenti dati" nella scheda "Dati" della barra multifunzione.
  3. A destra dell'elenco univoco di valori o stringhe, crea un elenco univoco di numeri. Ad esempio, se hai 6 categorie da colorare, la seconda colonna potrebbe essere solo 1-6. Questa è la tua tabella di ricerca.
  4. In una nuova colonna, utilizzare VLOOKUPper mappare la stringa di testo sul nuovo colore.
  5. Applica la formattazione condizionale in base alla nuova colonna numerica.

3
Il passo 4 non è un po 'chiaro per me, potresti per favore elaborare? Grazie.
pixel,

1
Potresti approfondire il 5?
zthomas.nc,

1
Ma sicuramente questo significa che la formattazione è sulle celle che contengono il valore numerico e NON il valore del testo
adolf garlic

11

Le schermate seguenti sono di Excel 2010, ma dovrebbero essere le stesse per il 2007.

Seleziona la cella e vai a Conditional Formatting | Highlight Cells Rules | Text that Contains

AGGIORNAMENTO: per applicare la formattazione condizionale per l'intero foglio di lavoro selezionare tutte le celle quindi applicare la formattazione condizionale.

inserisci qui la descrizione dell'immagine
(Clicca sull'immagine per ingrandire)

Ora seleziona la formattazione che desideri.

inserisci qui la descrizione dell'immagine


5
Non è ancora necessario che l'OP crei manualmente un formato condizionale per ciascun valore?
Dave DuPlantis,

1
@Dave DuPlantis - NO. È possibile selezionare TUTTE le celle quindi utilizzare la formattazione condizionale. Tutte le celle che soddisfano la condizione verranno formattate di conseguenza.
Nicu Zecheru,

6
Ogni condizione deve ancora essere creata manualmente, anche se devono essere create una sola volta per l'intera cartella di lavoro. Sta cercando una soluzione che non gli imponga di specificare i valori.
Dave DuPlantis,

Quindi è possibile avere più regole per il "testo contiene"? questa è ancora una funzionalità piuttosto scadente di ms
adolf garlic,

2

Da: 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

Vedo che ho già votato a favore di questa risposta, ma non riesco a trovare il codice che ho finito per usare. Un giorno alla fine scriverò un codice flessibile e lo condividerò anche qui.
Ryan,

1

Il colore automatico che sceglie la formattazione condizionale non è una funzionalità di Microsoft Excel.

Tuttavia, puoi colorare un'intera riga in base al valore di una colonna di categoria singolarmente.

  1. Crea una nuova regola di formattazione nella formattazione condizionale.
  2. Usa una formula per determinare quali celle formattare.
  3. Formula: =$B1="bedroom"(Supponendo che la colonna della categoria sia B)
  4. Imposta formato (usando il colore di riempimento)
  5. Applica la formattazione delle regole a tutte le celle

2
Cordiali saluti, Eric ha pubblicato una risposta molto più utile ... la tua invece sembra un ripasso della prima risposta che hai ricevuto.
Frank
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.