我需要一個公式或 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_range是,則位於的值將被返回為(因為它是指定範圍中的第一行)。這意味著,如果您的子範圍從第 2 行或更低行開始,您將必須修改此公式末尾的 。您應該在此輸入的數字與資料開始的行號相同。A10:A20A10MATCH1search_range1

其外觀如下:

在此輸入影像描述

相關內容