如果单元格值(文本)不在上面一行中,则使用公式有条件地格式化单元格

如果单元格值(文本)不在上面一行中,则使用公式有条件地格式化单元格

如果单元格的值不在上行,我需要一个公式来格式化单元格。

我必须将按日期排序的 100 行 10 列与其上方的列进行比较。

A 列包含日期,BJ 列包含需要与上一行进行比较的文本:

Columns...    A       B    C    D    E    F    G  ... J
              Date1   A    B    C    D    E    F
              Date2   C    E    A    J    D    K
              Date3   C    E    A    J    D    K

答案1

单击“条件格式”>“管理规则”>“新建规则”>“使用公式确定要格式化的单元格”。我认为您想要的公式是:

=E2<>B3

这意味着 E2 不等于 B3。

我认为就你的情况而言,你可能会做类似的事情:

=C3<>B3

B3如果需要,您可以将其更改为单元格范围。如果您添加了屏幕截图,那会很有帮助。

这是我测试时得到的结果:

在此处输入图片描述

在这里,我在 B3 和 E3 上设置了条件格式。B3 的公式为=E2<>B3,E3 的公式为=E2<>E3

如果文本不在单元格中(或行中,如果您执行类似的操作B3:F3),那么它会使用您在设置格式时选择的内容突出显示它。

答案2

切换到R1C1编辑模式。

选择整个表格然后添加新的条件规则。

输入公式:

=or(RC2<>R[-1]C2, RC3<>R[-1]C3, RC4<>R[-1]C4, RC5<>R[-1]C5, RC6<>R[-1]C6, RC7<>R[-1]C7, RC8<>R[-1]C8, RC9<>R[-1]C9)

并添加适当的格式。

现在将发生的情况是,如果当前行中 9 个测试列中的任何一个与上一行中的匹配列不同 (-1),则将应用该格式。请注意,您将其应用于整个表格,这意味着如果任何列与其先前的值不匹配,则将突出显示整行,这比单独突出显示与其先前的值不匹配的单个列要好得多。

当然,你可以在没有 R1C1 的情况下做到这一点,但我发现在进行这样的计算时在该模式下工作要容易得多。

唯一的问题是第一个数据行与标题不同,因此将始终突出显示。要么从格式中排除前两行(标题和第一个数据行),要么使公式更复杂,以便它对前两行的所有列返回 FALSE。

这也只有在列数不多时才真正可行。如果有,您可以创建一个串联列,将其隐藏为最后一列,然后进行测试(只要串联不会使文本太长而无法放入单元格中)。如果这两种方法都不起作用,您可以考虑使用 VBA 来检测更改并重新格式化。

相关内容