有条件地突出显示与动态求和范围不匹配的总计

时间:2017-11-06 21:08:01

标签: excel conditional-formatting excel-indirect

目的:

我希望使用条件格式来突出显示不等于动态范围总和的行中的单元格。

问题:

虽然我创建的公式似乎在粘贴到单元格时起作用,但当作为条件公​​式输入时,它不会给出相同的结果。

示例:

这是一个空格分隔的示例,要粘贴到“A1”中:

Allo    d1  d2  d3  d4  d5
Total   10  10  10  10  10
A   9   9   10  10  9
B   0   0   0   0   0
C   0   1   0   0   0
Total   12  12  12  12  12
B   0   5   0   3   4
C   12  7   8   8   8
Total   12  12  12  12  12
A   0   0   0   0   0
B   0   0   0   0   0
C   0   5   0   3   4
D   12  7   8   8   8

我写了这个公式,当粘贴到“H2”并向右拖动到“L13”时正确显示TRUE和FALSE。当我将此公式应用于数据范围“B2:F13”时,它不会模仿我所期望的。

=IF($A2="TOTAL", B2 <> SUM(INDIRECT(ADDRESS(ROW(B3),COLUMN(B3),4)&":"&ADDRESS(ROW(B2)+IFERROR(MATCH("TOTAL",$A3:$A$13,0)-1,ROW($A$13)-ROW($A2)),COLUMN(B2),4))))

下面你可以看到以更容易阅读的方式分解的公式。我的配方有缺陷吗?我怎样才能完成我想做的事情?我很感激你的想法。

=IF($A2="TOTAL", 
    B2 <> SUM( 
              INDIRECT( ADDRESS( ROW(B3), 
                                 COLUMN(B3), 
                                 4) &":"& 
                        ADDRESS( ROW(B2) + IFERROR( 
                                                   MATCH( "TOTAL", $A3:$A$13, 0)-1, 
                                                   ROW($A$13)-ROW($A2)),
                                 COLUMN(B2),4))))

enter image description here

1 个答案:

答案 0 :(得分:2)

改为使用OFFSET:

=IF($A2="TOTAL",B2<> SUM(OFFSET(B3,0,0,IFERROR(MATCH("TOTAL",$A3:$A$13,0)-1,ROWS($A3:$A$13)),1)))

enter image description here