Komórka koloru na podstawie wartości tekstu

23

Kolumna Excel zawiera wartość tekstową reprezentującą kategorię tego wiersza.

Czy istnieje sposób sformatowania wszystkich komórek o odrębnej wartości unikalnego koloru bez ręcznego tworzenia formatu warunkowego dla każdej wartości?

Przykład: gdybym miał kategorie bedroom, bedroom, bathroom, kitchen, living room, chciałbym, aby wszystkie zawierające komórki bedroombyły określonego koloru, bathroominnego koloru itp.

Steven
źródło
Jeśli nie chcesz tego robić ręcznie, to jak chcesz zdecydować, jakie powinny być kolory?
soandos
2
Chciałbym, aby było to automatyczne, jeśli to możliwe, podobnie jak kolory wybierane dla różnych serii na wykresie.
Steven
Ach, więc chcesz, aby wszystkie komórki o tej samej zawartości były tego samego koloru, ale nie obchodzi cię, jaki to kolor?
soandos
Czy jednorazowe makro (jednorazowe utworzenie formatów warunkowych) byłoby dopuszczalne? Musi być uruchamiany dokładnie raz na skoroszyt, a następnie można go usunąć.
Tex Hex
soandos: Tak, TeX Hex: Jasne!
Steven

Odpowiedzi:

6
  1. Skopiuj kolumnę, którą chcesz sformatować, do pustego arkusza.
  2. Wybierz kolumnę, a następnie wybierz polecenie „Usuń duplikaty” z panelu „Narzędzia danych” na karcie „Dane” wstążki.
  3. Po prawej stronie unikalnej listy wartości lub ciągów utwórz unikalną listę liczb. Na przykład, jeśli masz 6 kategorii do pokolorowania, druga kolumna może mieć po prostu 1-6. To jest twoja tabela odnośników.
  4. W nowej kolumnie użyj VLOOKUPdo odwzorowania ciągu tekstowego na nowy kolor.
  5. Zastosuj formatowanie warunkowe na podstawie nowej kolumny numerycznej.
Eric
źródło
3
Krok 4 jest dla mnie trochę niejasny, czy mógłbyś rozwinąć tę kwestię? Dzięki.
piksele
1
Czy mógłbyś rozwinąć 5?
zthomas.nc
1
Ale z pewnością oznacza to, że formatowanie jest na komórkach zawierających wartość liczbową, a NIE wartość tekstową
Adolf czosnek
11

Poniższe zrzuty ekranu pochodzą z programu Excel 2010, ale powinny być takie same dla 2007 r.

Wybierz komórkę i przejdź do Conditional Formatting | Highlight Cells Rules | Text that Contains

AKTUALIZACJA: Aby zastosować formatowanie warunkowe dla całego arkusza, zaznacz wszystkie komórki, a następnie zastosuj formatowanie warunkowe.

wprowadź opis zdjęcia tutaj
(Kliknij obraz, aby powiększyć)

Teraz wybierz dowolne formatowanie.

wprowadź opis zdjęcia tutaj

Nicu Zecheru
źródło
5
Czy nadal nie będzie to wymagało, aby OP ręcznie tworzył format warunkowy dla każdej wartości?
Dave DuPlantis
1
@Dave DuPlantis - NIE. Możesz wybrać WSZYSTKIE komórki, a następnie użyć formatowania warunkowego. Wszystkie komórki spełniające warunek zostaną odpowiednio sformatowane.
Nicu Zecheru
6
Każdy warunek musi zostać utworzony ręcznie, nawet jeśli trzeba go utworzyć tylko raz dla całego skoroszytu. Szuka rozwiązania, które nie wymaga od niego określania wartości.
Dave DuPlantis
Czy można mieć wiele reguł dla „tekstu zawiera”? to wciąż dość słaba funkcjonalność z ms
Adolf czosnek
2

From: 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
źródło
Widzę, że już głosowałem za odpowiedzią, ale nie mogę znaleźć kodu, którego użyłem. Pewnego dnia w końcu napiszę jakiś elastyczny kod i udostępnię go tutaj.
Ryan
1

Automatyczne wybieranie koloru Formatowanie warunkowe nie jest funkcją programu Microsoft Excel.

Można jednak pokolorować cały wiersz na podstawie wartości kolumny kategorii indywidualnie.

  1. Utwórz nową regułę formatowania w formatowaniu warunkowym.
  2. Użyj formuły, aby określić, które komórki sformatować.
  3. Wzór: =$B1="bedroom"(Zakładając, że kolumna kategorii to B)
  4. Ustaw format (używając koloru wypełnienia)
  5. Zastosuj formatowanie reguł do wszystkich komórek
Steven
źródło
2
Fyi, Eric opublikował o wiele bardziej przydatną odpowiedź ... Twoja zamiast tego wygląda jak powtórzenie pierwszej odpowiedzi.
Frank