我需要一个公式或 VBA 来突出显示 3 列中除每个数字的第一个实例之外的所有重复数字

我需要一个公式或 VBA 来突出显示 3 列中除每个数字的第一个实例之外的所有重复数字

我需要一个公式或 VBA 来突出显示列 (E、S 和 T) 中该数字第一次出现后的重复数字。尝试使用其他 IF 公式,但没有奏效。

任何帮助都将不胜感激。

截屏

答案1

突出显示列中第一个出现该数字后的重复数字(E、S 和 T)

我假设这意味着突出显示所有出现多次的值除了第一次出现,每列单独计数。这意味着对于您的帖子包含的屏幕截图,不会突出显示任何值(因为虽然有多个相同值的实例,但重复项不在同一列中)。

添加条件格式以匹配公式,然后输入: =(ROW() - MATCH(INDIRECT(ADDRESS(ROW(), COLUMN())), search_range, 0)) > 1

其中search_range必须替换相关范围。这意味着您将需要此 CF 的三个实例,一个用于 E 列(例如:search_rangesubs to $E$2:$E$8),一个用于 S 列,一个用于 T 列。根据需要调整范围。1公式末尾的数字也需要设置为数据在相应列中从哪个行开始 - 我将在此末尾详细介绍这一点。

该公式的作用如下:

  • 查找当前行号
  • 查找当前行的值
  • 如果行号减去匹配的行等于或小于 1,则表示我们匹配了“我们自己”——这意味着当前值是其自身的第一个实例,应该不是被强调
  • 如果行号减去匹配的行大于 1,则我们匹配了列表中更高的数字 - 这意味着当前值不是其自身的第一个实例,应该突出显示

这是可能的,因为MATCH函数在第一的结果。

还有一点需要注意,从 返回的结果MATCH只限于您在其中搜索的矩阵,因此如果您的search_rangeA10:A20,则位于中的值A10MATCH返回为1(因为它是指定范围内的第一行)。这意味着,如果您替换的范围search_range从第 2 行或更低行开始,则您必须修改1此公式末尾的。您在此处输入的数字应与您的数据开始的行号相同。

它看起来是这样的:

在此处输入图片描述

相关内容