【问题标题】:Conditional Formatting - how to set range for "one condition per row"?条件格式 - 如何设置“每行一个条件”的范围?
【发布时间】:2016-01-14 19:09:21
【问题描述】:

我以为我了解条件格式,但我在应用它时遇到了麻烦。

我有一张这样的桌子:

J   F   M   A   M   J   J   A   S   O   N   D
317 876 781 735 490 790 569 922 976 923 259 270
440 734 788 729 337 876 641 735 892 906 463 872
773 863 537 538 389 988 404 599 459 976 235 891
772 134 845 218 669 414 352 276 965 677 723 342
343 283 251 703 420 430 355 485 537 723 838 199
354 846 503 448 196 249 237 503 309 291 432 807
259 126 213 254 577 688 195 681 658 407 637 827
293 333 562 242 504 335 276 675 173 592 388 418

我只想通过绿色填充突出显示每一行中的Max()

我突出显示了我的范围,将左上角 (317) 作为我的活动单元格。然后我尝试了这个公式: =max($A2:$L2),但这只是突出了我的整个表格:

如果我突出显示第 2 行,使用 =Max($A2:$L2),那么整行都会突出显示...我什至尝试使用 Top 10 默认规则,更改为顶部 1,但无济于事。

可以做的是在单行上使用Top 1,然后将该格式粘贴下来。但是,如果可能的话,我想获得一个公式,这样我就可以避免在“CF 规则框”中有数百种 CF 格式。

感谢您的任何想法。我确定这是一个简单的解决方法,我只是想多了。

【问题讨论】:

    标签: excel conditional-formatting


    【解决方案1】:

    我认为您正在寻找的公式是:
    =A2=MAX($A2:$L2)

    这会将单元格的值与行的最大值进行比较。当相等时,公式的计算结果为TRUE

    【讨论】:

    • 啊哈哈,是的。就是这么简单!非常感谢 :D 作为记录,我的一些行完全是0,所以整行都被突出显示。我调整了公式并完成了:=AND(A2=MAX($A2:$L2),A2>0)
    • 大声思考:它不能与 Max() 一起工作的原因是因为它在“说”,在 A2:L2 范围内,只需获取最大值。这是TRUE。因此,整个范围都被突出显示,因为 =Max([any range really]) will always return true. I needed your A2=max() 的逻辑可以解决这个问题。
    • @BruceWayne 很高兴听到它的工作! > 0检查也很好。我从来没有真正理解为什么它接受像 "=max([range])" 这样的东西,因为它不会返回一个布尔值,但这就是生活。
    • Carl,如果您有兴趣,我添加了对条件格式在将 MAX 评估为布尔值时的行为的解释。我不知道它会被允许逗留多久作为答案,但希望是有趣的。
    【解决方案2】:

    这是对 cme​​ts 中提出的问题的回答,即在条件格式中将 MAX 评估为 TRUE 或 FALSE 会发生什么。

    在 Excel 中,零计算为 FALSE,所有其他数字计算为 TRUE(或类似的值)。例如,=NOT(NOT(0)) 的计算结果为 FALSE。

    当您以条件格式输入 MAX 公式时,它将评估为 TRUE,除非 MAX 公式结果为零,在这种情况下它会导致 FALSE:

    【讨论】:

    • 谢谢 Doug,但 0 不是评估为 FALSE 吗?
    • @CarlKevinson,哎呀,我写的与我的意思相反。谢谢。现在已经修好了。
    • 感谢@DougGlancy!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    • 2018-02-20
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多