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 中的值来界定结果。我希望结果与 FORMULA NEEDED 列中的结果类似。
我需要的是 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
当然还有更多可能的解决方案,但这就是我的做法。
如果您有疑问,请随时提问!