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.


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.

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


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

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

2
Fyi, Eric opublikował o wiele bardziej przydatną odpowiedź ... Twoja zamiast tego wygląda jak powtórzenie pierwszej odpowiedzi.
Frank
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.