Я не верю, что есть формула для этого, и нет опции в менеджере условного форматирования.
Вы можете, однако, использовать VBA. Вот небольшая функция, чтобы вы начали:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'Do nothing if more than one cell is updated, or if cell contents are deleted
If Target.Cells.Count > 1 Or IsEmpty(Target) Then
Exit Sub
End If
Select Case LCase(Target.Value)
Case "red"
newcolor = RGB(255, 0, 0)
Case "blue"
newcolor = RGB(0, 0, 255)
Case "chartreuse"
newcolor = RGB(0, 255, 0)
Case "lavender"
newcolor = RGB(224, 176, 255)
Case Else
newcolor = Target.Interior.Color
End Select
Target.Interior.Color = newcolor
Application.EnableEvents = True
End Sub
Использовать:
- Нажмите Alt + F11.
- В Project Explorer (левая панель) дважды щелкните лист, для которого вы хотите применить форматирование.
- Вставьте код в окно.
Подпрограмма будет автоматически выполнена:
- Когда вы набираете "красный", "синий", «зеленовато-голубой» или "лавандовый" выше в любой ячейке на этом конкретном листе
- Когда формула в любой ячейке возвращает либо "красный", "синий", «зеленовато-желтый» или "лавандовый"
Вам не нужно вручную запускать функцию, когда нужно покрасить ячейки.
Вы также можете ограничить количество ячеек, в которых эта функция будет "работать", изменив условие в блоке IF. Например, чтобы закрасить ячейки только в столбце C , вы можете заменить приведенный выше блок IF на ff:
If Target.Cells.Count > 1 Or Target.Column <> 3 Then
Exit Sub
End If
Конечно, вы должны сохранить свою книгу как документ с поддержкой макросов.