Excel 中数据条的自定义公式

Excel 中数据条的自定义公式

如何使用自定义公式来确定数据条的格式条件?

意思是,在 Excel 的“条件格式”下,有一种格式叫做“数据条”。但是,您无法指定希望这些条显示的条件。

情况是,我有一系列数据,其中一些值由于其分类或被标记为异常值而无关紧要。它们异常大,我希望将它们排除在数据栏可视化之外,因为这些条形图由于值较大而严重倾斜。

https://i.stack.imgur.com/3PGR1.png

答案1

我发现的解决方案是利用 VBA 并首先有条件地选择范围,然后将格式应用于该范围。VoG 的解决方案这里幫助了。

Sub formatDataBarRange()

    ' Build range only for cells labeled to be included
    Dim LR As Long, i As Long, r As Range
    LR = Range("G" & Rows.Count).End(xlUp).Row
    For i = 1 To LR
        If Range("B" & i).Value = "include" Then
            If r Is Nothing Then
                Set r = Range("A" & i)
            Else
                Set r = Union(r, Range("A" & i))
            End If
        End If
    Next i

    ' Add data bar formatting
    r.FormatConditions.AddDatabar
    r.FormatConditions(r.FormatConditions.Count).ShowValue = True
    r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
    With r.FormatConditions(1)
        .MinPoint.Modify newtype:=xlConditionValueAutomaticMin
        .MaxPoint.Modify newtype:=xlConditionValueAutomaticMax
    End With
    With r.FormatConditions(1).BarColor
        .Color = 2668287
        .TintAndShade = 0
    End With
    r.FormatConditions(1).BarFillType = xlDataBarFillSolid
    r.FormatConditions(1).Direction = xlContext
    r.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor
    r.FormatConditions(1).BarBorder.Type = xlDataBarBorderNone
    r.FormatConditions(1).AxisPosition = xlDataBarAxisAutomatic
    With r.FormatConditions(1).AxisColor
        .Color = 0
        .TintAndShade = 0
    End With
    With r.FormatConditions(1).NegativeBarFormat.Color
        .Color = 255
        .TintAndShade = 0
    End With

End Sub

答案2

您可以为数据栏设置最大值。任何超过最大值的值都会占据整个栏,而不会像您的示例那样严重扭曲您的结果。

在此示例中,我将最大值设置为 100:

非倾斜的数据条!

您可以通过前往Conditional Formatting... > Manage Rules... > Edit Rules...并将最大类型更改为 来设置此项Number

数据条格式

将其设置为合理的值,你的倾斜问题就会消失。

相关内容