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. А точнее, мне нужно посмотреть, является ли то, что я нахожу в столбце 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
я уверен, что там найдется много решений для этого.
После того, как вы это получите, вы, вероятно, получите массив, который хранит значения в другом или том же массиве, например, в логических значениях (истина/ложь).
Поэтому вы просто запускаете еще один цикл for, который будет выглядеть примерно так:
for i = 1 to NumberOfRows if C(i) = true then Cells(i, "C").Value = "true" next i
Конечно, есть и другие возможные решения, но я бы сделал так.
Если у вас есть вопросы, не стесняйтесь спрашивать!