В качестве иллюстрации ниже приведен простой макрос VBA, который выполняет форматирование. Вам решать, будет ли это просто. Нечто подобное можно поместить в подпрограмму события Worksheet_Change.
Это немного более гибко, чем условное форматирование, потому что вы можете иметь разные форматы в каждой строке столбца, из которого вы выбираете формат. (например, см. столбец H в шапке экрана).
Вот снимок экрана рабочего листа перед запуском макроса ...
А вот снимок экрана после запуска макроса ...
А вот и код VBA ...
Sub FormatTransfer()
Dim mySht As Worksheet
Dim myInRng As Range, myOutRng As Range, myFmtRng As Range
Dim myCell As Range
Set mySht = Worksheets("Sheet3")
Set myInRng = mySht.Range("E1", mySht.Range("E" & mySht.Rows.Count).End(xlUp))
Set myOutRng = myInRng.Offset(0, 2)
Set myFmtRng = mySht.Range(myInRng.Offset(0, 3), myInRng.Offset(0, 7))
For Each myCell In myInRng
If myCell.Value < 20# Then
myFmtRng(myCell.Row, 1).Copy
myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
End If
If myCell.Value >= 20# And myCell.Value < 40# Then
myFmtRng(myCell.Row, 1).Copy
myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
End If
If myCell.Value >= 40# And myCell.Value < 60# Then
myFmtRng(myCell.Row, 2).Copy
myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
End If
If myCell.Value >= 60# And myCell.Value < 80# Then
myFmtRng(myCell.Row, 3).Copy
myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
End If
If myCell.Value >= 80# And myCell.Value <= 100# Then
myFmtRng(myCell.Row, 4).Copy
myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
End If
Next myCell
End Sub