用于比较成对行的 Excel 条件格式公式?

问题描述 投票:0回答:2

目标:

在单列(EG 列 C)中,我有成对的数据行(EG 第 3 行和第 4 行,并且想要专门比较 C3 和 C4)。我正在尝试使用条件格式规则在这两个单元格(C3 和 C4)的值不匹配时突出显示它们。

问题:

我已经制定了一个条件公式(在人工智能的帮助下),它看起来应该有效,但事实并非如此。当我运行它时,该公式似乎仅将每个单元格与其下方的单元格进行比较,而不是其上方的单元格,因为我认为这是完成这项工作所必需的。

方法:

条件格式公式在应用它的每个单元格中执行。我的逻辑是,我们首先检查单元格行是偶数还是奇数,如果是奇数(C3),我们要查看下面的值,如果该值与当前单元格不同,那么它应该返回 TRUE(C3) <> C4) 并突出显示当前单元格。如果单元格是偶数,那么相反,我们将与上面单元格的值进行比较 (C4 <> C3) (我也尝试过 (C4 <> OFFSET(C4,-1,0))。无论如何,执行时比较只能从较高的单元格到较低的单元格进行,而不是相反......

这是我当前的公式。我首先尝试将 OR 拆分为两个单独的公式,但这不起作用,而且我还怀疑它们可能会相互抵消,无论哪个先执行。

=OR(AND(MOD(ROW(), 2) = 1, C3 <> OFFSET(C3, 1, 0)), AND(MOD(ROW(), 2) = 0, C4 <> OFFSET(C4, -1, 0)))

excel excel-formula conditional-formatting
2个回答
0
投票

在公式中引用

C3
C4
的所有位置,请使用
C1
(或范围中最上面的单元格)。

OR(AND(MOD(ROW(), 2) = 1, C1 <> OFFSET(C1, 1, 0)), AND(MOD(ROW(), 2) = 0, C1 <> OFFSET(C1, -1, 0)))

这个问题有一些关于相对引用在Excel中如何工作的详细信息。


0
投票

我会把它简化为

=ISODD(ROW())*(C3<>C4)+ISEVEN(ROW())*(C3<>C2)

如果从 C3 开始。在 C3 中,仅适用公式的前半部分,因为该行是奇数。

相对寻址适用于条件格式,因此,如果您想象将公式下拉到单元格 C4 中,它将变为:

=ISODD(ROW())*(C4<>C5)+ISEVEN(ROW())*(C4<>C3)

因此公式的后半部分适用,因为该行是偶数。

唯一的问题是,如果条件格式在奇数行上完成,当您将最后一个单元格与格式化范围之外的值进行比较时:

© www.soinside.com 2019 - 2024. All rights reserved.