, если ячейка содержит тот же шаблон, например: 123 (45)
, тогда вы можете использовать условное форматирование на основе формулы и поместить эту формулу:
=NUMBERVALUE(LEFT(A1,3)) = 123
или
=NUMBERVALUE(LEFT(A1,3))=B1
B1, если вы хотите сослаться на значение некоторой ячейки
и выполнить желаемое форматирование
, если шаблон не тот же, но, например, некоторые похожи: 123 (45), 1234 (46), затем:
=NUMBERVALUE(LEFT(A1,FIND(" ",A1)-1)) = 123
или
=NUMBERVALUE(LEFT(A1,FIND(" ",A1)-1)) =B1
РЕДАКТИРОВАТЬ
Простой способ сделать этоis:
В другом столбце рядом со столбцом, содержащим данные, поместите эту формулу:
=NUMBERVALUE(LEFT(A1,FIND(" ",A1)-1))
, затем вы можете применить условное форматирование панелей данных, внутри опций условного форматирования для панели данных.это флажок «Показывать только бар», и результат будет примерно таким:

Другой способ в другой колонке поставить формулу:
=A1&" "&REPT("|",NUMBERVALUE(LEFT(A1,FIND(" ",A1)-1))/5)

или это
=A8&" "&REPT("∙",NUMBERVALUE(LEFT(A8,FIND(" ",A8)-1))/5)

нет другого простого способа сделать это, потому что условное форматирование строки данных не принимает формулу массива.
Вы можете сделать это в любом случае с макросом на листе, который имеет копию данных и вставьте следующий код:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
Dim data As Range
Set data = ActiveSheet.Range("A:A")
If Not Intersect(Target, data) Is Nothing Then
lRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
Dim arr() As Double
On Error Resume Next
For i = 1 To lRow
Set myrange = ActiveSheet.Range("A" & i)
ReDim Preserve arr(i)
arr(i) = Left(myrange, WorksheetFunction.Find(" ", myrange) - 1)
Next i
Dim MaxValue As Long
MaxValue = WorksheetFunction.Max(arr)
For i = 1 To lRow
Set myrange = ActiveSheet.Range("A" & i)
With myrange.Interior
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 180
.Gradient.ColorStops.Clear
End With
With myrange.Interior.Gradient.ColorStops.Add(1)
.Color = RGB(13, 71, 161)
.TintAndShade = 0
End With
With myrange.Interior.Gradient.ColorStops.Add(1 - (arr(i) / MaxValue))
.Color = RGB(13, 71, 161)
.TintAndShade = 1
End With
With myrange.Interior.Gradient.ColorStops.Add(0)
.Color = RGB(255, 255, 255)
.TintAndShade = 1
End With
Next i
End If
End Sub
Так что с этим кодом каждый раз, когда вы помещаете новые данные в столбец, он автоматически форматирует их, как показано на рисунке ниже.Я проверил, и это работает, просто вставьте его в свой лист, а не в модуль и измените диапазоны, как вам подходит.

Надеюсь, это поможет!