如何在以不同列中的範圍分隔結果的欄位中尋找重複值?

如何在以不同列中的範圍分隔結果的欄位中尋找重複值?
     A          B            C
1  RANGES     VALUES   FORMULA NEEDED  
2    1          x           yes
3    1          x           yes
4    2          x           no
5    3                      no
6    3          y           yes
7    3          y           yes
8    4          x           no
9    5          z           no
10   5          y           no

因此,我想識別 VALUES 中的重複項,並按 RANGES 中的值分隔結果。我希望結果與所需公式列中的結果相同。

我需要的是 VALUES 列中的重複值。更具體地說,我需要查看在 VALUES 列中找到的內容是否重複,並使用(這很重要)RANGES 列中的重複項範圍作為分隔符號。我希望這是有道理的。

因此,如果: - x 在編號 1 的行中重複,則結果為「是」。 - y 在編號為 3 的行中重複,即使其中有空白值或附加價值(例如 x),這仍然是「是」。

這是我失敗的嘗試:

=IF(AND(A2=A1,B2=B1),"yes","no")

答案1

你需要使用VBA。

因此,您需要做的是將 A + B 列的值讀入陣列。
假設我們有一個大批命名為C,因此 C(1) 將是 A2 + B2 = "1x"; C(2) 將是 A3 + B3 = "1x"; C(3):A4 + B4 =“2x”;您執行一個 for 迴圈來
讀取您必須 C(i) 的所有值。

有了這個之後,你只需谷歌一下,excel vba how to find duplicate values in an array
我相信會有很多解決方案。

得到這個之後,您可能會得到一個數組,它將值儲存到另一個或同一個數組中,例如布林值(true/false)

所以你只需在其上運行另一個 for 循環,它看起來像:
for i = 1 to NumberOfRows if C(i) = true then Cells(i, "C").Value = "true" next i

當然還有更多可能的解決方案,但這就是我會這樣做的。
如果您有疑問,請隨時提問!

相關內容