1
     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 ответ1

0

Вам нужно использовать VBA.

Итак, что вам нужно сделать, это прочитать значения столбца A + B в массив.
Допустим, у нас есть массив с именем C , поэтому C(1) будет A2 + B2 = "1x"; C(2) будет A3 + B3 = "1x"; C(3): A4 + B4 = "2x"; и т.п.
Вы делаете цикл for, чтобы прочитать все значения, которые Вам нужны для C(i).

После того, как у вас есть это, вы просто Google 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

Конечно, есть и другие возможные решения, но я бы так и сделал.
Если у вас есть вопросы, не стесняйтесь спрашивать!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .