Столбец Excel содержит текстовое значение, представляющее категорию этой строки.
Есть ли способ отформатировать все ячейки, имеющие определенное значение, уникальным цветом, не создавая вручную условное форматирование для каждого значения?
Пример: Если бы у меня были категории bedroom, bedroom, bathroom, kitchen, living room
, я бы хотел, чтобы все содержащие их ячейки bedroom
были определенного цвета, bathroom
другого цвета и т. д.
решение1
- Скопируйте столбец, который вы хотите отформатировать, на пустой лист.
- Выберите столбец, а затем выберите «Удалить дубликаты» на панели «Инструменты данных» на вкладке «Данные» ленты.
- Справа от вашего уникального списка значений или строк создайте уникальный список чисел. Например, если вам нужно раскрасить 6 категорий, второй столбец может быть просто 1-6. Это ваша таблица поиска.
- В новом столбце используйте
VLOOKUP
для сопоставления текстовой строки новому цвету. - Применить условное форматирование на основе нового числового столбца.
решение2
Скриншоты ниже взяты из Excel 2010, но они должны быть такими же и для 2007.
Выберите ячейку и перейдите кConditional Formatting | Highlight Cells Rules | Text that Contains
Чтобы применить условное форматирование ко всему листу, выделите все ячейки, а затем примените условное форматирование.
(Нажмите на изображение, чтобы увеличить)
Теперь просто выберите желаемое форматирование.
решение3
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.
Однако вы можете раскрасить целую строку на основе значения столбца категории по отдельности.
- Создайте новое правило форматирования в условном форматировании.
- Используйте формулу, чтобы определить, какие ячейки следует форматировать.
- Формула:
=$B1="bedroom"
(Предполагается, что столбец категории — B) - Установить формат (используя цвет заливки)
- Применить правило форматирования ко всем ячейкам