Цвет ячейки на основе текстового значения

Цвет ячейки на основе текстового значения

Столбец Excel содержит текстовое значение, представляющее категорию этой строки.

Есть ли способ отформатировать все ячейки, имеющие определенное значение, уникальным цветом, не создавая вручную условное форматирование для каждого значения?

Пример: Если бы у меня были категории bedroom, bedroom, bathroom, kitchen, living room, я бы хотел, чтобы все содержащие их ячейки bedroomбыли определенного цвета, bathroomдругого цвета и т. д.

решение1

  1. Скопируйте столбец, который вы хотите отформатировать, на пустой лист.
  2. Выберите столбец, а затем выберите «Удалить дубликаты» на панели «Инструменты данных» на вкладке «Данные» ленты.
  3. Справа от вашего уникального списка значений или строк создайте уникальный список чисел. Например, если вам нужно раскрасить 6 категорий, второй столбец может быть просто 1-6. Это ваша таблица поиска.
  4. В новом столбце используйте VLOOKUPдля сопоставления текстовой строки новому цвету.
  5. Применить условное форматирование на основе нового числового столбца.

решение2

Скриншоты ниже взяты из Excel 2010, но они должны быть такими же и для 2007.

Выберите ячейку и перейдите кConditional Formatting | Highlight Cells Rules | Text that Contains

Чтобы применить условное форматирование ко всему листу, выделите все ячейки, а затем примените условное форматирование.

введите описание изображения здесь
(Нажмите на изображение, чтобы увеличить)

Теперь просто выберите желаемое форматирование.

введите описание изображения здесь

решение3

От: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

решение4

Автоматический выбор цвета при условном форматировании не является функцией Microsoft Excel.

Однако вы можете раскрасить целую строку на основе значения столбца категории по отдельности.

  1. Создайте новое правило форматирования в условном форматировании.
  2. Используйте формулу, чтобы определить, какие ячейки следует форматировать.
  3. Формула: =$B1="bedroom"(Предполагается, что столбец категории — B)
  4. Установить формат (используя цвет заливки)
  5. Применить правило форматирования ко всем ячейкам

Связанный контент