Как узнать совпадающие значения из столбца A в столбец B? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть 30 значений в моем столбце A и 100 значений в столбце B. Я хотел бы сохранить только значения столбца A, нужно найти совпадение в столбце B и удалить остальные. Пример значений: / x / member / info / text-column

Я попробовал = vlookup (A2, B2: B100,4, FALSE). Но это не работает. Не могли бы вы помочь мне здесь.

Ответы [ 4 ]

1 голос
/ 09 апреля 2020

forumla должно быть:

=vlookup(A2,$B$2:$B$100,1,0)

и затем использовать фильтр для выбора #NA для удаления или

=countif($B$2:$B$100,A2)

, а затем использовать фильтр для выбора «0» для удаления.

0 голосов
/ 09 апреля 2020

Поместите это в C2 и скопируйте:

=INDEX(A:A,AGGREGATE(15,7,ROW($A$2:$A$30)/(ISNUMBER(MATCH($A$2:$A$30,B:B,0))),ROW($ZZ1)))

Он вернет список элементов в A, который находится в B без каких-либо дополнительных шагов.


Если один Dynami c Array Formula FILTER():

=FILTER($A$2:$A$30,ISNUMBER(MATCH($A$2:$A$30,B:B,0)))
0 голосов
/ 09 апреля 2020

Полагаю, вы хотите сохранить это как формулу Excel, а не как VBA?

Ваша формула не сработала, как вы указали 4, когда вы указали только 1 столбец b Возможно, измените формулу на =vlookup(A2,$B$2:$B$100,1,0) и посмотрите, работает ли она. Это вернет значение повторения или ошибки, если оно не повторяется. Чтобы убрать ошибку, вы можете сделать это =iferror(vlookup(A2,$B$2:$B$100,1,0),""), которое будет показывать пробел на любом, что не найдено.

В качестве альтернативы вы можете сделать счетчик, который будет подсчитывать, сколько повторений найдено. =countif($B$2:$B$100,A2), что может помочь.

0 голосов
/ 09 апреля 2020

Это удалит из столбца B элементы, которых нет в столбце A :

Sub RowCLeaner()
    Dim i As Long, r As Range
    For i = 100 To 1 Step -1
        v = Cells(i, "B").Value
        Set r = Range("A1:A30").Find(what:=v, After:=Range("A1"))
        If r Is Nothing Then Cells(i, "B").Delete shift:=(xlShiftUp)
    Next i
End Sub
...